Mysql錯誤1452 - Cannot add or update a child row: a foreign key constraint fails 原因及解決方法


報錯的原因大概分為三種:

原因一:

添加的外鍵列與另一個表的唯一索引列(一般是主鍵)的數據類型不同
原因二:
要添加外鍵的表類型與另一個表的存儲引擎是不是都為innodb引擎
#查看表引擎
法一: show create table 表名;
法二:show table status from 數據庫 where name=‘表名’;
法三:use information_schema;
select table_catalog,table_schema,table_name,engine from tables
where table_schema=‘數據庫名’ and table_name=‘表名’;
原因三:
設置的外鍵與另一個表中的唯一索引列(一般是主鍵)中的值不匹配
#解決辦法:刪除要成為外鍵的列,再次創建並默認為NULL,

 

服務器一般都是統一存儲引擎的


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM