Foreign-Key
為所有列創建複合外鍵或為每列創建外鍵之間有區別嗎?
一般來說,為所有列創建複合外鍵或為每列創建外鍵有區別嗎?
第一種方法
FOREIGN KEY(OrderId, CompanyId) REFERENCES ParentTable(OrderId, CompanyId)
第二種方法
FOREIGN KEY(OrderId) REFERENCES ParentTable(OrderId) FOREIGN KEY(CompanyId) REFERENCES ParentTable(CompanyId)
當然,有很大的不同。在第一種情況下,您通過列組合進行引用。這意味著 ParentTable 應該為您要添加到 ChildTable 的 OrderId 和 CompanyId 的每個組合包含一行。在第二種情況下,具有相應的 OrderId 和相應的 CompanyId 的單獨行就足夠了。