2014-04-24 93 views
0

我使用連接(或橋)表,但我很困惑表做什麼。我並不完全不知道它是如何工作的,只是當我將數據插入到PK中時,橋表的FK應該自動插入相同的數據,對嗎?因爲FK是PK的參考。多對多關係數據混淆

回答

1

如果BRIDGE_TABLE是TABLE_A和TABLE_B之間的多對多映射,則將元素插入到TABLE_A和TABLE_B中,然後使用TABLE_A和TABLE_B的主鍵作爲BRIDGE_TABLE中的外鍵將(許多)關係值插入到BRIDGE_TABLE中。數據庫無法知道A和B之間所需的關係,因此您必須確定它們並自行插入它們。

如果你想要做多個插入「在同一時間」,你可以把它們放在一個交易: SQL Server: Is it possible to insert into two tables at the same time?

但是,你不能用一個語句插入到兩個表。

+0

所以在我插入兩次的查詢中很常見?一個進入表A/B,另一個進入橋表? – user3522444

+0

您插入兩次的唯一信息是A/B表的主鍵。其餘的仍然在這些表格中。它實際上只是表a到b之間的數據映射,反之亦然 – Olli

+0

@ user3522444:是的,兩個插入,因爲您給數據庫單獨的信息:第一:表A有一個新的條目'X'。第二:表A中的條目'X'與表B中的條目'123'相關。 –