【问题标题】:innodb and foreign keys - foreign key constraint failsinnodb 和外键 - 外键约束失败
【发布时间】:2014-06-23 17:24:33
【问题描述】:

我正在使用已切换到 innodb 以掌握外键的复制数据库。我有下面的表格,它们的列在下面。在每个 fk 上,我设置 ON DELETE : cascade 和 ON UPDATE : cascade。这一直有效,直到我到达我得到的“低级”表:

ALTER TABLE lowlevel 添加外键 (user_id) 参考 testdb.users(user_id) ON DELETE CASCADE ON UPDATE CASCADE;

1452 - 无法添加或更新子行:外键约束失败 (testdb.

'#sql-11e6_47710b'>,约束#sql-11e6_47710b_ibfk_1外键 (user_id) 参考users (user_id) 删除级联时)


这个想法是/我应该从accounts 中删除一个帐户,它会循环遍历它的computer_id ......它的user_id ......然后最后是它的低级行,这样整个用户帐户就可以通过一个电话被删除。另一方面,如果没有设置先前的约束,它将向后工作并防止通过此链进行任何插入。

我没有对此进行任何查询...现在只是尝试通过 phpmyadmin 设置 fk。我的逻辑在哪里错了,为什么我不能在我的“低级”表示例中设置 fk?

我的桌子:

帐户
---------
account_id(主要)

计算机
---------
computer_id (primary)
account_id (fk to accounts.account_id)

用户
---------
user_id(主要)
computer_id(转至computers.computer_id)

低级
---------
id (primary)
user_id (fk to users.user_id)

【问题讨论】:

    标签: sql database foreign-keys innodb


    【解决方案1】:

    我已经在用户不存在的“低级”表中有一行。现在是有道理的,因为这是这样做的目的之一。

    【讨论】:

      猜你喜欢
      • 2013-05-29
      • 1970-01-01
      • 1970-01-01
      • 2013-03-04
      • 2016-08-17
      • 2011-11-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多