簡體   English   中英

mysql表中的多個外鍵指向相同的主鍵

[英]mysql Multiple Foreign Keys in a Table to the Same Primary Key

我有一個表user ,其userID為主鍵。 我還有另一個叫Friends桌子。 Friends表中,我有兩個User作為朋友,由UserIDFrndID列表示,其中UserIDFrndID都應該是表useruserID

我想加強數據完整性。 我可以使用這樣的東西嗎?

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM