我正在玩一個複製的數據庫,我已經切換到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)