Ver Mensaje Individual
  #5 (permalink)  
Antiguo 08/01/2008, 11:20
seyko
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 11 meses
Puntos: 13
Re: Clave Foranea

Buenas cacr!

Cita:
Al crear un campo serial, este resuelve "automágicamente" ser un campo unique key y not null, no hay que especificarlo, pero así se crea... por eso lo de "automágicamente".
Lo siento, pero sigue siendo incorrecto.
Código:
pruebas=# create table prueba (id serial);
NOTICE:  CREATE TABLE creará una secuencia implícita «prueba_id_seq» para la columna serial «prueba.id»
CREATE TABLE
pruebas=# insert into prueba values (1);
INSERT 0 1
pruebas=# insert into prueba values (1);
INSERT 0 1
pruebas=# select * from prueba;
 id
----
  1
  1
(2 filas)
Como ves no es un campo UNIQUE



Código:
pruebas=# truncate table prueba;
TRUNCATE TABLE
pruebas=# select * from prueba;
 id
----
(0 filas)

pruebas=# insert into prueba values (1);
INSERT 0 1
pruebas=# insert into prueba values (2);
INSERT 0 1
pruebas=# alter table prueba add unique (id);
NOTICE:  ALTER TABLE / ADD UNIQUE creará el índice implícito «prueba_id_key» para la tabla «prueba»
ALTER TABLE
pruebas=#
Asi se pone a UNIQUE con alter table, cambias add por drop y borras.

Un saludo