[英]mysql Multiple Foreign Keys in a Table to the Same Primary Key
我有一個表user
,其userID
為主鍵。 我還有另一個叫Friends
桌子。 在Friends
表中,我有兩個User作為朋友,由UserID
和FrndID
列表示,其中UserID
和FrndID
都應該是表user
的userID
。
我想加強數據完整性。 我可以使用這樣的東西嗎?
ADD CONSTRAINT `ufd_users_fk` FOREIGN KEY (`userId`, `friendId`)
REFERENCES `users` (`userId`, `userId`) ON DELETE CASCADE ON UPDATE CASCADE;
我想知道REFERENCES
用戶(
userId ,
userId )
多次正確引用一列嗎? 我之所以沒有創建2個單獨的約束,是因為兩個用戶都必須存在於表user
。
不,您應該創建兩個外鍵:
ADD CONSTRAINT `ufd_users_fk` FOREIGN KEY (`userId`)
REFERENCES `users` (`userId`)
ON DELETE CASCADE ON UPDATE CASCADE,
ADD CONSTRAINT `ufd_users_fk` FOREIGN KEY (`friendId`)
REFERENCES `users` (`userId`)
ON DELETE CASCADE ON UPDATE CASCADE;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.