为什么不能将定义REFERENCES
扩展为也支持表约束,然后FOREIGN KEY
可以从 SQL 中消除?
REFERENCES
很明显,和之间的区别在于FOREIGN KEY
它REFERENCES
是列约束,而FOREIGN KEY
是表约束。
例如,create table T (A int, B int, C int, primary key (A,B), (B,C) references T(A,B) on delete cascade)
是不合法的,因为你需要有foreign key
before (B, C)
,因为约束引用了多个列。