SQLite从什么版本开始支持外键(Foreign Key)

前端之家收集整理的这篇文章主要介绍了SQLite从什么版本开始支持外键(Foreign Key)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

http://androidren.com/index.php?qa=298&qa_1=sqlite%E4%BB%8E%E4%BB%80%E4%B9%88%E7%89%88%E6%9C%AC%E5%BC%80%E5%A7%8B%E6%94%AF%E6%8C%81%E5%A4%96%E9%94%AE-foreign-key

sqlite 3.6.19 开始支持 外键约束。

参考:

http://sqlite.org/foreignkeys.html

Foreign key constraints are disabled by default (for backwards compatibility),so must be enabled separately for eachdatabase connection. (Note,however,that future releases of sqlite might change so that foreign key constraints enabled by default. Careful developers will not make any assumptions about whether or not foreign keys are enabled by default but will instead enable or disable them as necessary.) The application can also use aPRAGMA foreign_keysstatement to determine if foreign keys are currently enabled. The following command-line session demonstrates this:

sqlite> PRAGMA foreign_keys;
0
sqlite> PRAGMA foreign_keys = ON;
sqlite> PRAGMA foreign_keys;
1
sqlite> PRAGMA foreign_keys = OFF;
sqlite> PRAGMA foreign_keys;
0

Tip: If the command "PRAGMA foreign_keys" returns no data instead of a single row containing "0" or "1",then the version of sqlite you are using does not support foreign keys (either because it is older than 3.6.19 or because it was compiled withSQLITE_OMIT_FOREIGN_KEYorSQLITE_OMIT_TRIGGERdefined).

It is not possible to enable or disable foreign key constraints in the middle of amulti-statement transaction(when sqlite is not inautocommit mode). Attempting to do so does not return an error; it simply has no effect.

猜你在找的Sqlite相关文章