我正在玩一个复制的数据库,我已经切换到innodb来掌握外键。我有下面的表格,下面有他们的列。在每个fk上,我设置ON DELETE:级联和ON UPDATE:级联。这工作,直到我得到的 '低级' 表从哪里获得:innodb和外键 - 外键约束失败
ALTER TABLE
1452 - 不能添加或更新子行,外键约束失败(lowlevel
添加外键(user_id
)参考文献testdb
。users
(user_id
)ON DELETE CASCADE ON UPDATE CASCADE;testdb
'#SQL-11e6_47710b'>,约束
#sql-11e6_47710b_ibfk_1
FOREIGN KEY (user_id
)参考文献users
(user_id
)ON DELETE CASCADE ON)
的想法是/是我应该accounts
它会循环通过其COMPUTER_ID的...它的user_id的删除帐户...然后最后的低层行,所以整个用户帐户与一个通话中移除。另一方面,如果前面的约束条件未被设置,它将反向工作并阻止通过此链的任何插入。
我没有对此进行任何查询......只是试图通过phpmyadmin来设置fk。我的逻辑在哪里错了,为什么我不能在我的'低级'表格示例中设置fk?
我的表:
占
---------
ACCOUNT_ID(初级)计算机
个
-------- -
computer_id(primary)
account_id(fk to accounts.account_id)用户
---------
USER_ID(主)
COMPUTER_ID(FK到computers.computer_id)低级
---------
ID (primary)
user_id(fk to users.user_id)