sqlite從3.6.19開始支援外來鍵約束。看了一下xcode裡的檔案,顯示版本為3.8.10.2,說明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語句了。 mysql外來鍵和外來鍵約束
1.mysql中 鍵 和 索引 的定義相同,所以外來鍵和主鍵一樣也是索引的一種。不同的是mysql會自動為所有表的主鍵進行索引,但是外來鍵字段必須由使用者進行明確的索引。用於外來鍵關係的字段必須在所有的參照表中進行明確地索引 2.如果表a的主關鍵字是表b中的字段,則該字段稱為表b的外來鍵,表a稱為主...
mysql 外來鍵和外來鍵約束
1.外來鍵 如果公共關鍵字在乙個關係中是主關鍵字,那麼這個公共關鍵字被稱為另乙個關係的外來鍵。就是a表的主鍵,被用到了b表中,此時它就成了外來鍵 2.外來鍵約束 如果想要插入或者更新外來鍵的值,資料庫會和引用表中字段的資料進行驗證,如果插入或更改的值不在被引用的表中,則插入失敗 外來鍵的作用就是保證...
外來鍵約束 外來鍵級聯操作
建立db2資料庫 create database db2 使用db2資料庫 use db2 外來鍵約束 標準語法 constraint 外鍵名 foreign key 本表外來鍵列名 references 主表名 主表主鍵列名 建表時新增外來鍵約束 建立user使用者表 create table u...