【发布时间】:2012-10-24 09:51:48
【问题描述】:
我无法使用 Navicat 从 sqlite db 中删除记录。错误内容为:`错误约束失败'
如果我尝试使用 sql 命令通过控制台删除,我会得到同样的结果:
sqlite> delete from myTable where sort = '965';
constraint failed
sqlite>
知道为什么会发生这种情况。
感谢您的帮助
【问题讨论】:
我无法使用 Navicat 从 sqlite db 中删除记录。错误内容为:`错误约束失败'
如果我尝试使用 sql 命令通过控制台删除,我会得到同样的结果:
sqlite> delete from myTable where sort = '965';
constraint failed
sqlite>
知道为什么会发生这种情况。
感谢您的帮助
【问题讨论】:
看起来这个表有一个字段在另一个表中被引用为 FK,所以 SQlite 说
"I can,'t delete it, its inuse in another table"
【讨论】:
使用sqlite3 shell 的.schema 命令显示所有表定义。
然后您可以查看myTable 或子表上的哪个约束阻止您删除。
如果另一个表中有外键约束,您必须先删除该表中所有引用您的 965 记录的记录,然后才能删除记录本身。
【讨论】: