2011-02-01 42 views
0

嗨 我有2個表A和B.A和B之間有1對1的關係。現在說我在A和B(A1和B1)中有記錄通過這種1對1的關係是相關的。我將如何刪除這兩個記錄。如果我刪除A1 1st,那麼我得到的衝突錯誤與B1相同。以1對1的關係刪除這兩個記錄

我只是好奇

謝謝

+3

請提供架構信息,例如爲表和外鍵創建表腳本。您的問題的答案可能是使用級聯刪除。 – 2011-02-01 10:47:21

+0

相同的不能去B1,除非你有循環FK的數據庫不應該允許... – leppie 2011-02-01 11:02:38

+1

只是好奇。如何使用這種設置將數據添加到表格中?如果你不能添加,你將永遠不需要刪除。 – 2011-02-01 12:43:39

回答

0

模型表中的CAB之間的關係。 C將參考(FK)AB。要刪除關係,請刪除C中的相應行。那麼是否也應刪除實體A和/或B是一個單獨的問題。

0

你用什麼數據庫,MSSQL Oracle,MySQL等?一些數據庫支持級聯刪除(前兩個我提到支持它肯定)。或者有另一種方法,使用觸發器。把它掛在一個會觸發第二個的刪除,但首先關閉這兩個表的一致性並最終打開它。

編輯:如果你使用的是MSSQL,那麼你可以像這樣設置級聯刪除。 (如果您的模式是類似於表A具有主鍵是在表B中的主/ foreighn鍵)

ALTER TABLE [dbo].[YourTable] WITH CHECK ADD CONSTRAINT  
[FK_YourTable1_YourTable2] FOREIGN KEY([YourForeignKey]) 
REFERENCES [dbo].[YourTable2] ([Id]) 
ON DELETE CASCADE 
GO