Mysql错误1452 - Cannot add or update a child row: a foreign key constraint fails 原因及解决方法
2023-09-14 09:16:27 时间
转载:https://blog.csdn.net/weixin_43713105/article/details/89396870
报错的原因大概分为三种:
原因一:
添加的外键列与另一个表的唯一索引列(一般是主键)的数据类型不同
原因二:
要添加外键的表类型与另一个表的存储引擎是不是都为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
相关文章
- MySQL 中管理时间字符串的方法(mysql时间字符串)
- MySQL查询:精准搜索SQL语句(mysql查询sql)
- 管理MySQL 角色分配与权限管理(mysql角色)
- 远程MySQL连接的最佳实践:使用专业的工具(远程连接mysql工具)
- 比较MySQL中日期大小的方法(mysql比较日期)
- MySQL事务:四大性质保证数据安全(mysql事务的四大特性)
- MySQL脱裤大作战:掌握简单的数据迁移技能(mysql脱裤工具)
- 恢复MySQL被误删记录的方法(mysql误删)
- 行帮助Mysql命令行查询指南:一步搞定!(查看mysql命令)
- MySQL实现随机取出数据的方法(mysql随机取出数据)
- Mysql解决1053错误的指南(mysql错误1053)
- MySQL默认编码设置指南(mysql默认编码)
- MySQL区间查询语句简介及应用方法(mysql区间查询语句)
- 解决MySQL中key错误问题的方法(mysql中key报错)
- MySQL数据库中删除数据的简单方法(c mysql数据删除)
- MySQL中0可作为除数,引起数据丢失及错误排除(mysql中0可以做除数)
- MySQL两张表数据不同的解决方法(mysql 两表不同数据)
- 实现asp与mysql之间的连接整合MySQL驱动解决方案(asp连接mysql驱动)
- ASA70迁移至MySQL体验新的数据库环境(asa7.0转mysql)
- 深入了解MySQL函数的使用方法(mysql中函数用法)
- MySQL非空字段设计思路(mysql不为空字段)
- MySQL的两层嵌套查询优化方法(mysql 两层嵌套)
- 停止mysql命令行的方法如何正确关闭MySQL数据库(mysql下停止命令行)
- 解决MySQL存储中文字符问题的方法(mysql不能存汉子)