0
我正在爲我的網站製作好友系統。我正在考慮只創建2行,爲每個行添加一個索引,並將它們設置爲users
表id
列的外鍵。如果其中一個用戶被刪除,我希望他們被刪除。那麼每個用戶都會有記錄。mysql朋友系統,索引,外鍵,主鍵
user_id
friend_id
問:你認爲有任何理由都包括一個主鍵?
問題:將外鍵設置爲級聯時,外鍵的功能是否如上所述?
如果您有任何其他建議或列的建議,我想聽到過(:(我不需要知道什麼時候友誼開始)
三江源
很好的答案。但即時通訊有一些麻煩,看看如果我添加一個名爲id的列是主鍵,什麼時候會使用,當我永遠不會從該ID查找表。那麼它如何提高性能?我在user_id上有一個索引,這是我在select語句的where子句中「引用」的內容。不是說我有添加id的問題,我只想了解爲什麼。 – jah 2013-05-07 16:15:22
@JensAhlstenHerlevsen我不建議你添加一個自動增量主鍵列。我特別提到了使用這兩列的複合主鍵。你可以強制唯一性,並且你總是用'user_id'來查找,這是索引中的第一列,你不需要在user_id上單獨建立一個索引。你應該幾乎每個桌子上都有一些主要的東西。 – 2013-05-07 17:15:35
ALTER TABLE朋友ADD PRIMARY KEY(user_id,friend_id);這是否也意味着2列的組合將是唯一的? – jah 2013-05-07 17:33:14