天天看點

iOS SQLite的外鍵限制

SQLite從3.6.19開始支援外鍵限制。看了一下Xcode裡的<SQLite3.h>檔案,顯示版本為3.8.10.2,說明iOS裡的SQLite是支援外鍵限制的。

iOS SQLite的外鍵限制

但是編寫代碼試了一下,發現仍然不支援外鍵限制。在網上查了一下,原來SQLite為了相容以前的程式,預設關閉外鍵限制這一功能。想要啟用外鍵限制,可以在每次打開資料庫的時候執行語句:PRAGMA foreign_keys = ON。(注意每次打開資料庫都是預設關閉該功能的,每次想要啟用外鍵限制都要執行該語句)

執行該語句的方法:

1.打開資料庫。

2.執行以下代碼:

NSString *sql = @"PRAGMA foreign_keys = ON";
sqlite3_prepare_v2(sqlite, [sql UTF8String], -1, &stmt, NULL);
sqlite3_step(stmt);
           

然後下面就可以執行需要使用外鍵限制的SQL語句了。