【发布时间】:2020-03-19 20:20:01
【问题描述】:
这两个选项在表上声明外键有什么区别吗?
选项 1
create table Table1 (
name varchar(255),
id_fkey int references Table2 (id)
);
选项 2
create table Table1 (
name varchar(255),
id_fkey int,
foreign key (id_fkey) references Table2 (id)
);
两个声明都是正确的foreign key 还是它们有什么区别?
【问题讨论】:
-
它们是一样的。 (但我也会指定约束名称,例如
constraint fk_table2 foreign key (id_fkey) references Table2 (id)。) -
仅供参考:MySQL 不支持声明为列约束的外键。你不会得到错误,但 MySQL 不会保存约束。
标签: mysql sql postgresql foreign-keys