在sqlite3中删除CASCADE

在sqlite3中删除CASCADE,第1张

概述我有以下结构:(抱歉,尴尬的名字,这是因为它是一个sqlite数据库为我的iPhone应用程序,还没有发布) CREATE TABLE klb_log ( id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, log_comment varchar(512))CREATE TABLE klb_log_food_maps ( uid inte 我有以下结构:(抱歉,尴尬的名字,这是因为它是一个sqlite数据库为我的iPhone应用程序,还没有发布)
CREATE table klb_log (  ID INTEGER PRIMARY KEY autoINCREMENT NOT NulL,log_comment varchar(512))CREATE table klb_log_food_maps (  uID integer,dID integer,PRIMARY KEY (uID,dID),FOREIGN KEY (uID) references klb_log(ID) ON DELETE CASCADE,FOREIGN KEY (dID) references klb_food(ID) ON DELETE CASCADE)CREATE table klb_food (  ID integer,description varchar(255),PRIMARY KEY (ID))

有没有理由为什么当我删除klb_log中的一行时,klb_log_food_maps中的行不会被删除?

默认情况下,sqlite中未启用外键支持。您需要在每次使用pragma连接到数据库时手动启用它:
PRAGMA foreign_keys = ON
总结

以上是内存溢出为你收集整理的在sqlite3中删除CASCADE全部内容,希望文章能够帮你解决在sqlite3中删除CASCADE所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/sjk/1162379.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存