SQLite 是不是支持参照完整性?
Posted
技术标签:
【中文标题】SQLite 是不是支持参照完整性?【英文标题】:Does SQLite support referential integrity?SQLite 是否支持参照完整性? 【发布时间】:2013-06-17 07:10:23 【问题描述】:我有一个配置为使用 SQLite 的 Django 网络服务器。
在多对多关系(带有额外字段)中,Django 强制我使用关系模型来建立两个对象之间的关系。但我能够在相关表中尚不存在的对象之间创建关系。
例如:
I have table1 and table2 which are related via table12.
In table1, there is just one object called A.
In table2, there is just one object called X.
I can create a record in table12 that depict a relationship between A & Y; even though Y doesn't exist in table2.
我的关系模型已经适当地标记了外键。
【问题讨论】:
【参考方案1】:默认情况下,SQLite 不强制执行foreign key constraints(主要是为了向后兼容)。
要启用它,您必须执行
PRAGMA foreign_keys = 1
连接到数据库之后。
详情请参阅PRAGMA foreign_keys
的手册。
【讨论】:
还找到了在 Django 中启用它的方法! ***.com/questions/6745763/… 一个更好的变体是PRAGMA foreign_keys=ON
而不是1
以上是关于SQLite 是不是支持参照完整性?的主要内容,如果未能解决你的问题,请参考以下文章