【问题标题】:Unable to delete record from sqlite db using Navicat无法使用 Navicat 从 sqlite db 中删除记录
【发布时间】:2012-10-24 09:51:48
【问题描述】:

我无法使用 Navicat 从 sqlite db 中删除记录。错误内容为:`错误约束失败'

如果我尝试使用 sql 命令通过控制台删除,我会得到同样的结果:

sqlite> delete from myTable where sort = '965';
constraint failed
sqlite> 

知道为什么会发生这种情况。

感谢您的帮助

【问题讨论】:

    标签: database sqlite navicat


    【解决方案1】:

    看起来这个表有一个字段在另一个表中被引用为 FK,所以 SQlite 说

    "I can,'t delete it, its inuse in another table"
    

    【讨论】:

    • 是的,你是对的。在另一个 catalogue_myTable 表中有一个 myTable_id。我必须先删除该引用吗?谢谢:)
    【解决方案2】:

    使用sqlite3 shell 的.schema 命令显示所有表定义。 然后您可以查看myTable 或子表上的哪个约束阻止您删除。

    如果另一个表中有外键约束,您必须先删除该表中所有引用您的 965 记录的记录,然后才能删除记录本身。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-04-11
      • 2021-11-13
      • 2013-10-06
      • 1970-01-01
      • 1970-01-01
      • 2017-07-17
      • 2014-10-16
      • 1970-01-01
      相关资源
      最近更新 更多