为什么不能将定义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 keybefore (B, C),因为约束引用了多个列。