SQLite3 外鍵約束
SQLite3 中的外鍵約束在維護資料完整性、防止引用表中出現孤立行方面發揮著至關重要的作用。但是,使用者經常遇到這樣的問題:即使引用表為空,也可以將行插入到引用表中。此行為與預期的約束強制執行相矛盾。
要解決此問題,必須了解在 SQLite3 版本 3.x 及更早版本中,由於與 SQLite2.x 向後相容,預設情況下不啟用外鍵約束。要啟動外鍵約束,使用者每次連接到資料庫時都必須執行以下查詢:
PRAGMA foreign_keys = ON;
此查詢會切換外鍵強制標誌,允許資料庫驗證和強制執行外鍵關係。如果沒有此命令,SQLite3 將忽略所有外鍵約束,導致資料不一致。
然而,SQLite4.x 透過預設啟用外鍵約束引入了重大改進。這消除了上述查詢的需要,簡化了資料庫設定並從一開始就確保了正確的資料完整性。
以上是為什麼 SQLite3 外鍵約束有時會失敗,如何修復?的詳細內容。更多資訊請關注PHP中文網其他相關文章!