【问题标题】:Sqlite Error : FOREIGN KEY constraint failedSqlite 错误:外键约束失败
【发布时间】:2018-08-22 20:42:09
【问题描述】:

我正在尝试更新 sqlite 中的员工数据。两个数据的员工 ssn 编号被错误地交换,现在当我尝试使用以下代码再次交换数据时:

UPDATE employee SET SSN=’666884444’  WHERE SSN = ‘123456789’; 
UPDATE employee SET SSN=’123456789’ WHERE SSN = ‘666884444’;  

它显示以下错误:

[16:51:19] Error while executing SQL query on database 'Company': 
FOREIGN KEY constraint failed

有人可以指导我查询吗?

【问题讨论】:

  • 其中一个数字可能不存在于employee.ssn 相关的表中。您可以使用 pragma 暂时关闭外键检查,然后在执行此操作后重新打开。
  • 另外,我认为交换的尝试不会真正起作用。
  • 感谢肖恩,但它仍然无法正常工作。 :(

标签: sqlite


【解决方案1】:

https://www.sqlite.org/foreignkeys.html

  1. 将 FK 约束更改为 DEFERRED。语法是DEFERRABLE INITIALLY DEFERRED
  2. BEGIN/COMMIT 事务块内进行更新。

【讨论】:

    猜你喜欢
    • 2021-12-28
    • 1970-01-01
    • 2020-10-18
    • 1970-01-01
    • 2018-05-17
    • 2018-09-17
    • 1970-01-01
    • 2012-03-14
    • 1970-01-01
    相关资源
    最近更新 更多