我有一個關系 SQLite 資料庫,其中的表通過外鍵相互訪問。當我使用 SqlLiteStudio“Export”輸出到一個新的 SQL 檔案時,它會根據表名的字母順序寫出 SQL“CREATE”和“INSERT INTO”陳述句。然后當我將相同的 SQL 檔案匯入新資料庫時(這需要使用命令“從檔案執行 SQL”,因為匯入命令似乎只將 csv 匯入表中),我收到“沒有這樣的表”錯誤,因為創建被參考的表的行還沒有被讀取。因此,如果我編輯 SQL 檔案以將表放在頂部,則會收到“FOREIGN KEY 約束失敗”錯誤。因此,如果我將 SQL 檔案編輯為表創建下方的所有表插入操作,并按表重新排序插入,以便沒有表在其表依賴項之前,只有這樣我才能成功匯入 SQL 檔案,重現原始 SQLite 資料庫檔案。似乎是 SqlLiteStudio 中的一個錯誤。我想更糟糕的情況是我可以撰寫一個后處理腳本,但我希望找出人們正在使用的一些更好的方法。我只是更喜歡以文本格式保存以備份到現有的 git 存盤庫中,并且以后也可以更輕松地進行 db 遷移。TIA。我只是更喜歡以文本格式保存以備份到現有的 git 存盤庫中,并且以后也可以更輕松地進行 db 遷移。TIA。我只是更喜歡以文本格式保存以備份到現有的 git 存盤庫中,并且以后也可以更輕松地進行 db 遷移。TIA。
uj5u.com熱心網友回復:
您可以在匯入前關閉外鍵支持,然后在匯入后使用
PRAGMA foreign_keys = off;
....
PRAGMA foreign_keys = on;
見https://sqlite.org/pragma.html#pragma_foreign_keys
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/382480.html
標籤:sqlite 出口 sqlitestudio
