user157629:
¿Hay alguna diferencia en la declaración de claves foráneas en las tablas entre estas dos opciones?
OPCIÓN 1
create table Table1 (
name varchar(255),
id_fkey int references Table2 (id)
);
OPCION 2
create table Table1 (
name varchar(255),
id_fkey int,
foreign key (id_fkey) references Table2 (id)
);
Son las dos declaraciones de una adecuada foreign key
o tienen alguna diferencia?
Laurenz Albe:
Estas son dos maneras de hacer la misma cosa. La primera sintaxis se llama restricción de columna , la segunda restricción de tabla .
La única diferencia real es que una clave externa en más de una columna sólo se puede escribir como una restricción de tabla.