Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

LLave Primaria

Estas en el tema de LLave Primaria en el foro de SQL Server en Foros del Web. Hola compañeros Mi problema es el siguiente, realice una base de datos pero hubieron algunas tablas en las que no asigné la llave primaria dado ...
  #1 (permalink)  
Antiguo 22/09/2011, 14:10
 
Fecha de Ingreso: abril-2011
Mensajes: 17
Antigüedad: 13 años
Puntos: 0
LLave Primaria

Hola compañeros
Mi problema es el siguiente, realice una base de datos pero hubieron algunas tablas en las que no asigné la llave primaria dado que aún no había definido quien sería mi llave primaria, mi problema esta en que sql no me deja asignar una llave primaria
por ejemplo
-- Esta es la tabla creada
CREATE TABLE Persona
(id integer,
Last_Name varchar(30),
First_Name varchar(30));


-- Aqui le asigno la llave primaria
alter table Persona
add primary key (id)

pero me manda error, debe ser algo simple de hacer pero no lo encuentro
si alguien podría ayudarme, bienvenido.


gracias.
  #2 (permalink)  
Antiguo 22/09/2011, 14:47
 
Fecha de Ingreso: septiembre-2011
Mensajes: 20
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: LLave Primaria

Yo lo hago desde el diseño de la tabla, haces clic derecho sobre el campo q queres q tenga la clave primaria y seleccionas la opcion "Set Primary Key" y ahi ya te asigna ese campo como clave primaria..

Saludos!
  #3 (permalink)  
Antiguo 22/09/2011, 14:52
 
Fecha de Ingreso: septiembre-2011
Mensajes: 20
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: LLave Primaria

Ahh y fijate por las dudas que la columna q usas como clave primaria este definido como "not null".. No puede ser nulo esa columna
  #4 (permalink)  
Antiguo 22/09/2011, 15:34
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: LLave Primaria

Aqui tienes una liga para consultar el alter a una tabla

http://msdn.microsoft.com/es-es/library/ms190273.aspx

Saludos!
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #5 (permalink)  
Antiguo 22/09/2011, 22:27
 
Fecha de Ingreso: abril-2011
Mensajes: 17
Antigüedad: 13 años
Puntos: 0
Respuesta: LLave Primaria

Gracias Libras la verdad la liga que me diste esta excelente,
Gracias Orne, pues fijate que en el modo de diseño lo puedo hacer, y si deacuerdo contigo en que la columna no debe tener la restricción null, pero necesito aprenderlo con código en eso consiste mi tarea bueno hay les cuento como me vá!!
  #6 (permalink)  
Antiguo 23/09/2011, 09:32
 
Fecha de Ingreso: abril-2011
Mensajes: 17
Antigüedad: 13 años
Puntos: 0
Respuesta: LLave Primaria

Hola de nuevo
logré resolverlo, al parecer se necesita especificar NOT NULL al campo que será llave primaria de la tabla ya que por defecto cuando son creados sin especificar sql server los asocia con directamente con NULL
CREATE TABLE Persona
(id integer,
Last_Name varchar(30),
First_Name varchar(30));

--asignamos not null para el campo que será llave primaria

alter table persona
alter column id integer not null

-- Ahora sí ya podemos establecerlo como llave primaria.

alter table Persona
add primary key (id)

Bueno de los errores se aprende!!! ;)
  #7 (permalink)  
Antiguo 23/09/2011, 13:04
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: LLave Primaria

Que fue exactamente lo que comento Orne
__________________
MCTS Isaias Islas

Etiquetas: llave, primaria, sql, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:02.