为了账号安全,请及时绑定邮箱和手机立即绑定

即使foreign_keys 为ON,FOREIGN KEY 约束也会失败

即使foreign_keys 为ON,FOREIGN KEY 约束也会失败

温温酱 2023-09-19 17:02:02
当使用Python 3和SQLite3时,在执行时cursor.execute("DELETE FROM my_table WHERE my_column IS NULL;"),我收到错误sqlite3.IntegrityError: FOREIGN KEY constraint failed即使我connection.execute("PRAGMA foreign_keys = ON;")在那之前就这样做了。是否设置不能foreign_keys保证ON其他表中具有引用已my_table删除行的外键列的行也被删除,从而防止发生此错误,或者我是否误解了 的功能PRAGMA foreign_keys?
查看完整描述

1 回答

?
大话西游666

TA贡献1817条经验 获得超14个赞

my_table您是否在其他表中定义了使用操作引用列的列ON DELETE CASCADE,例如:

columnInOtherTable INTEGER REFERENCES my_table(columnInMyTable) ON DELETE CASCADE

如果是,那么您的代码应该可以工作,除非下面还有与级联删除相关的其他级别。

如果没有,那么你应该这样做。
这是ON DELETE CASCADE强制删除引用行的操作。

当然PRAGMA foreign_keys必须是ON


查看完整回答
反对 回复 2023-09-19
  • 1 回答
  • 0 关注
  • 153 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信