2013-07-24 82 views
0

您必須運行PRAGMA foreign_keys = ON才能啓用它。默認情況下,爲什麼在sqlite中禁用約束?

爲什麼?是否因爲這個功能在sqlite中有問題?我在問,因爲我遇到了數據完整性方面的問題。有時不應該發生「完整性約束違規」錯誤。

+0

這可能是一個性能特徵。要求您選擇外鍵檢查開銷。 – Orangepill

+2

該功能也相對較新(2009年底推出)。之前沒有這樣的事情,約束被忽略,所以默認是有意義的。 – Mat

回答

2

docs

外鍵約束在默認情況下(爲了向後兼容性 )禁用,因此必須單獨爲每一個數據庫連接 單獨啓用。

相關問題