您必須運行PRAGMA foreign_keys = ON
才能啓用它。默認情況下,爲什麼在sqlite中禁用約束?
爲什麼?是否因爲這個功能在sqlite中有問題?我在問,因爲我遇到了數據完整性方面的問題。有時不應該發生「完整性約束違規」錯誤。
您必須運行PRAGMA foreign_keys = ON
才能啓用它。默認情況下,爲什麼在sqlite中禁用約束?
爲什麼?是否因爲這個功能在sqlite中有問題?我在問,因爲我遇到了數據完整性方面的問題。有時不應該發生「完整性約束違規」錯誤。
它不是越野車。只是許多用戶不需要嚴格的限制。 SQLite是one of the most tested件軟件有
從docs:
外鍵約束在默認情況下(爲了向後兼容性 )禁用,因此必須單獨爲每一個數據庫連接 單獨啓用。
這可能是一個性能特徵。要求您選擇外鍵檢查開銷。 – Orangepill
該功能也相對較新(2009年底推出)。之前沒有這樣的事情,約束被忽略,所以默認是有意義的。 – Mat