簡體   English   中英

多對多關系的聯結表是否應具有代理主鍵?

[英]Should a junction table for a many-to-many relationship have a surrogate primary key?

我正在使用mySQL和Laravel。 我有兩個表:用戶和組。 每個都有一個id字段和一個name字段。 我希望用戶能夠屬於多個組,反之亦然; 所以我要建立一個與聯結表的多對多關系:group_user。

我首先想到的是,它只需要兩個字段:user_id和group_id,都是外鍵。 但是有些事情告訴我,我可能也需要/想要此表的ID。 我已經在Internet上的代碼示例中同時看到了這兩種方式,而我只想知道如果沒有它會丟失什么。

我只是想不出我將如何真正地利用它。 因為該表僅用於關聯其他兩個表。

人工主鍵有時在您的代碼中非常有用。 例如,當您想刪除一條記錄時,可以使用與其他表相同的模式。 您只需要傳遞一個id即可,而不需要傳遞復合鍵的各個部分。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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