![](/img/trans.png)
[英]Mysql error: 1215 Cannot add foreign key constraint[ foreign keys same type, innodb ]
[英]innodb and foreign keys - foreign key constraint fails
我正在玩一個復制的數據庫,該數據庫已切換到innodb以了解外鍵。 我有下面的表格及其下面的列。 在每個fk上,我都設置ON DELETE:級聯和ON UPDATE:級聯。 這一直有效,直到我到達“低級”表:
ALTER TABLE
1452-無法添加或更新子行:外鍵約束失敗(lowlevel
添加外鍵(user_id
)參考testdb
。users
(user_id
)ON DECATE CASCADE ON UPDATE CASCADE;testdb
。'#sql-11e6_47710b'>,CONSTRAINT
#sql-11e6_47710b_ibfk_1
FOREIGN KEY(user_id
)參考users
(user_id
)ON刪除級聯ON)
我的想法是/是否應該從一個帳戶中刪除一個帳戶,該accounts
將在其computer_id的循環,其user_id的循環中循環,然后最終在其低級行中循環,因此只需一次調用即可刪除整個用戶帳戶。 另一方面,如果未設置先前的約束,它將向后工作並阻止通過此鏈的任何插入。
我沒有對此進行任何查詢...只是想立即通過phpmyadmin設置fk。 我的邏輯錯在哪里?為什么不能在“低級”表示例中設置fk?
我的桌子:
帳目
---------
account_id(主要)電腦
---------
computer_id(主要)
account_id(fk到accounts.account_id)使用者
---------
user_id(主要)
computer_id(從fk到computers.computer_id)低級
---------
id(主要)
user_id(fk到users.user_id)
我在“低級”表中已經有一行用戶不存在。 現在有意義,因為這是執行此操作的目的之一。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.