Sql 外键的限制
因此,除了命名外键外,创建约束外键而不是普通外键有什么真正的优势吗?使用以下语法添加外键: 并使用: 唯一的功能区别是,Sql 外键的限制,sql,postgresql,foreign-keys,constraints,Sql,Postgresql,Foreign Keys,Constraints,因此,除了命名外键外,创建约束外键而不是普通外键有什么真正的优势吗?使用以下语法添加外键: 并使用: 唯一的功能区别是,altertable表单允许您创建使用多个列的外键 当然,您可以使用alter table表单中的create table作为表约束,而不是列约束: create table T ( ... foreign key (c1, c2) references T2(c1, c2) ) 在所有情况下,参考底图外键都是相同的,唯一的区别在于定义它们的位置。不清楚您在问
altertable
表单允许您创建使用多个列的外键
当然,您可以使用alter table
表单中的create table
作为表约束,而不是列约束:
create table T (
...
foreign key (c1, c2) references T2(c1, c2)
)
在所有情况下,参考底图外键都是相同的,唯一的区别在于定义它们的位置。不清楚您在问什么。外键始终是一个约束。没有其他普通外键。您是否在询问使用
引用作为创建表中的列约束与使用更改表T添加约束添加FK之间的区别…
?@muistooshort是的,这就是我要问的,很抱歉我的英语不好。
[ CONSTRAINT constraint_name ]
FOREIGN KEY ( column_name [, ... ] ) REFERENCES reftable [ ( refcolumn [, ... ] ) ]
[ MATCH FULL | MATCH PARTIAL | MATCH SIMPLE ]
[ ON DELETE referential_action ] [ ON UPDATE referential_action ]
create table T (
...
foreign key (c1, c2) references T2(c1, c2)
)