sqlite3“外键约束失败”

sqlite3“外键约束失败”,第1张

概述我已经设置了两个表: CREATE TABLE A( id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, name TEXT );CREATE TABLE B( id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, id2 INTEGER, book TEXT, 我已经设置了两个表:
CREATE table A(    ID INTEGER NOT NulL PRIMARY KEY autoINCREMENT,name TEXT );CREATE table B(    ID INTEGER NOT NulL PRIMARY KEY autoINCREMENT,ID2 INTEGER,book TEXT,FOREIGN KEY(ID2) REFERENCES A(ID));

将数据插入A后,它看起来像这样:

1    John2    Amy3    Peter

将数据插入B后,它看起来像这样:

1     1     Lord of the Rings2     1     Catch 223     2     Sum of All Fears4     3     Hunt for Red October

然后我执行以下语句:

delete from a where ID=1;

我得到以下内容:“错误:外键约束失败

我然后重新启动sqlite3并重试,但这次我先输入:

PRAGMA foreign_keys = 1;

它仍然无法正常工作……

表B具有行,其外键引用您尝试删除的表A行的主键值,因此删除它将违反数据库的完整性.

您可以在外键定义中包含ON DELETE CASCADE.这样,当您从表A中删除条目时,表B中链接到已删除行的任何条目也将被删除.不知道这是否适合您的申请.

总结

以上是内存溢出为你收集整理的sqlite3“外键约束失败”全部内容,希望文章能够帮你解决sqlite3“外键约束失败”所遇到的程序开发问题。

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

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

原文地址: http://outofmemory.cn/sjk/1160333.html

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

发表评论

登录后才能评论

评论列表(0条)

保存