嗨 我有2個表A和B.A和B之間有1對1的關係。現在說我在A和B(A1和B1)中有記錄通過這種1對1的關係是相關的。我將如何刪除這兩個記錄。如果我刪除A1 1st,那麼我得到的衝突錯誤與B1相同。以1對1的關係刪除這兩個記錄
我只是好奇
謝謝
嗨 我有2個表A和B.A和B之間有1對1的關係。現在說我在A和B(A1和B1)中有記錄通過這種1對1的關係是相關的。我將如何刪除這兩個記錄。如果我刪除A1 1st,那麼我得到的衝突錯誤與B1相同。以1對1的關係刪除這兩個記錄
我只是好奇
謝謝
模型表中的C
A
和B
之間的關係。 C
將參考(FK)A
和B
。要刪除關係,請刪除C
中的相應行。那麼是否也應刪除實體A
和/或B
是一個單獨的問題。
你用什麼數據庫,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
請提供架構信息,例如爲表和外鍵創建表腳本。您的問題的答案可能是使用級聯刪除。 – 2011-02-01 10:47:21
相同的不能去B1,除非你有循環FK的數據庫不應該允許... – leppie 2011-02-01 11:02:38
只是好奇。如何使用這種設置將數據添加到表格中?如果你不能添加,你將永遠不需要刪除。 – 2011-02-01 12:43:39