4
A
回答
5
選擇允許將null
s插入到FK列中的記錄,將其插入到那裏,刪除其他記錄,然後刪除第一個記錄。
4
要麼
ON DELETE CASCADE
或插入爲NULL的FK的如果多數民衆贊成可能模式中的一個,不知道廠商不能提供更多的信息。
0
如果兩個表彼此引用外鍵,那麼數據庫設計很可能需要改進。我想這應該調用一張額外的桌子來照顧這個設計。
對於您的問題,您可以更新一個表中的FK鍵字段爲空,然後在兩個表上觸發刪除。
但要做到這一點,請確保您確定兩個PK提前將其刪除。
黑氈帽
+0
數據庫設計可能如預期的那樣:您可以強制執行一條規則,即父級必須至少有一個子級,或者在父級行中將子行標記爲「默認」。 – gbn 2010-02-28 09:13:58
1
如果你的列是允許爲空,更新其數據,那麼爲NULL刪除數據。
0
ALTER TABLE <table1> NOCHECK CONSTRAINT ALL
GO
ALTER TABLE <table2> NOCHECK CONSTRAINT ALL
GO
DELETE FROM <table1>
GO
DELETE FROM <table2>
GO
ALTER TABLE <table1> CHECK CONSTRAINT ALL
GO
ALTER TABLE <table2> CHECK CONSTRAINT ALL
GO
+1
可能要添加說明。 – Huey 2015-07-22 09:57:23
相關問題
- 1. 如何從兩個相互引用的表中刪除外鍵約束?
- 2. SQL,兩個外鍵引用另一個表的相同主鍵
- 3. 如何從兩個表中刪除相關記錄的內容?
- 4. 兩個外鍵引用一個表
- 5. 兩個外鍵引用另一個表
- 6. QSqlRelationalTableModel - 兩個引用同一個表,相同的外鍵
- 7. Django的兩個外鍵唯一記錄
- 8. 使用外鍵約束刪除多個表中的記錄
- 9. 在Django中互相引用的兩個外鍵
- 10. 如何將具有外鍵約束的記錄刪除到另一個表中?
- 11. 引用相同列的兩個外鍵
- 12. 如何解決需要兩個外鍵引用同一個表
- 13. 刪除除一個重複記錄以外的所有記錄
- 14. 刪除有兩個相同的列值的記錄表中的
- 15. 如何刪除表中的一行時刪除所有相關的表記錄?
- 16. 刪除多個記錄相關表
- 17. 防止刪除記錄,有兩個表
- 18. 如何將外鍵映射到兩個相互引用的實體中
- 19. 刪除相互引用的sql表
- 20. 如何從兩個表中刪除相關記錄的內容(使用SQLTransaction)?
- 21. 一個外鍵引用不同表的兩個主鍵?
- 22. 當第一個表中不存在相應的記錄時刪除記錄
- 23. 兩個相連的表中有相同的記錄具有相同的外鍵
- 24. 最好的方法來刪除兩個表中有外鍵記錄?
- 25. 用外鍵連接兩個記錄集
- 26. 如何從兩個表中刪除兩條記錄?
- 27. 如何從表中刪除兩個不同表中的不相等記錄
- 28. 的android sqlite的刪除記錄正在排隊與另一個記錄外鍵
- 29. 如何用`@ OneToMany`關係從兩個表中刪除記錄?
- 30. PHP&MySQL - 如何從兩個表中刪除用戶記錄
我想你已經設計你DB錯了,如果兩個表相互引用? – Steven 2010-02-27 10:49:29