我工作的數據庫遷移程序,我想一個數據庫遷移到另一個數據庫whoose已經創建的表。更具體地說,我有兩個數據庫幾乎相同的表,一個是滿的,另一個是空的。我的問題是遷移表值是按字母順序進行的。有些表具有外鍵,如果這些表是從外鍵表中按字母順序排列的,那麼我不能輸入值。有什麼辦法可以禁用java或postgresql的外鍵檢查。任何幫助都會很棒。數據庫插入失敗的原因爲外鍵約束
2
A
回答
2
如果我是正確的,有沒有可能在PostgreSQL上禁用FK。正如@mcfinnigan所說,你可以在開始插入之前刪除fk,或者你可以用DEFERRABLE鍵重新創建一個限制。請參閱postgresql CREATE TABLE documentation.
DEFFERABLE手段,FK將不檢查,直到完成交易。
2
參照完整性是一個數據庫屬性,而不是JDBC屬性 - 你需要運行您導入之前顯式刪除或禁用對數據庫的FK約束,然後重新啓用它們之後。
這可能是一個更好的主意,以確定您的數據的層次結構和插入數據開始與獨立的記錄,然後再插入過程中的相關記錄鏈接到這些。
+0
感謝。我會嘗試第一個。其次可能如此複雜。 – mbaydar 2012-04-04 10:01:35
相關問題
- 1. 使用phpMyAdmin複製數據庫失敗,因爲外鍵約束
- 2. 插入外鍵約束失敗
- 3. 外鍵約束消失的原因
- 4. 插入數據庫約束失敗
- 5. 外部約束失敗原因不明
- 6. 導入數據庫時導致外鍵約束失敗,導出實體失敗
- 7. 外鍵約束失敗
- 8. 外鍵約束失敗(MySQL)
- 9. 外鍵約束與失敗
- 10. 外鍵約束失敗
- 11. 外鍵約束失敗
- 12. Magento導入外鍵約束失敗
- 13. innodb和外鍵 - 外鍵約束失敗
- 14. 插入數據與外鍵約束
- 15. 延誤的原因是外鍵約束
- 16. 數據庫外鍵約束
- 17. 爲什麼外鍵約束失敗?
- 18. 休眠@Version導致數據庫外鍵約束失敗
- 19. SQL約束插入失敗
- 20. Python:MySQL批量插入,跳過外鍵約束失敗的條目
- 21. 確定哪些多行插入的值失敗外鍵約束
- 22. 插入約束失敗nFOREIGN KEY約束失敗儘管播種數據
- 23. 不能將值插入表,外鍵約束不斷失敗
- 24. 插入在相同外鍵結果多行「約束失敗」
- 25. 外鍵約束失敗,並在MySQL中插入選擇
- 26. 外鍵約束失敗,儘管插入正確
- 27. 插入值時外鍵約束失敗和錯誤消息
- 28. 的Rails +的Heroku:外鍵約束失敗
- 29. 外鍵約束失敗(MySQL的)
- 30. sqlite3的「外鍵約束失敗」
是否有更新聲明可以設置表可推遲? – mbaydar 2012-04-04 10:12:31
您不能修改表上的約束。只有你可以添加或刪除alter table語句。 ALTER TABLE ADD XXX約束fk_xxx [...]或ALTER TABLE XXX DROP約束fk_xxx。您必須使用DEFFERABLE鍵來限制重新定義表格。然後,如果使用DEFFERABLE鍵創建約束,則應該調用「SET CONSTRAINTS DEFERRED」。 – Aykut 2012-04-04 10:18:01