在SQLite3中,是否有外键完整性检查?

lqfhib0f  于 2023-03-19  发布在  SQLite
关注(0)|答案(2)|浏览(131)

我的foreign_key约束在我能够删除父条目时不起作用。对于每个会话,foreign_key的pragma默认为off。似乎很奇怪,没有一个资源文件(如vi的.exrc)来设置每个会话的pragma。所以我必须重新编译SQLite3,或者每次都设置它。
删除父对象后,如何对外键约束进行完整性检查?例如,如果您在插入或删除时打开了杂注,则告诉SQLite运行与最初运行时相同的逻辑?
我看到杂注integrity_check,但这只是查找损坏。

mcvgt66p

mcvgt66p1#

从SQLite 3.7.16开始,有PRAGMA外键检查。

ejk8hzay

ejk8hzay2#

运行以下命令:

PRAGMA foreign_keys;

结果将为:

0 // foreign keys Disabled
1 // foreign keys Enabled

要启用或禁用外键,请运行:

PRAGMA foreign_keys = ON;

PRAGMA foreign_keys = OFF;

更多信息点击这里

相关问题