我只是在教自己sqlite,所以当我能够删除父条目时,我很惊讶地看到我的foreign_key约束不起作用.然后我在阅读更多内容后了解到,对于每个会话,默认情况下,foreign_key的pragma是关闭的.看起来奇怪的是没有资源文件(例如,像vi的.exrc),你可以使用它来默认为每个会话设置编译指示,但很好.所以我必须重新编译sqlite3或者每次都设置它.
无论如何,我的问题是,在删除父级之后,有没有办法对外键约束进行完整性检查?即如果你在插入或删除等时打开了编译指示,只是告诉sqlite运行它最初运行时运行的相同逻辑?
我看到了一个“pragma integrity_check”,但这只是在寻找腐败.
谢谢,
贾斯汀
从sqlite 3.7.16开始,有
PRAGMA foreign_key_check.
原文链接:https://www.f2er.com/sqlite/238921.html