mysql1452错误

Posted Sanding

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql1452错误相关的知识,希望对你有一定的参考价值。

admin表中有字段admin_name和admin_realname。notice表中有字段admin_name。之前,notice表中admin_name的外键是admin表的admin_name,现在想改成admin_realname,数据类型和字段长度都一样,但却提示1452错误,如下图所示。

 

然后百度了一下,得到了一个靠谱的答案:

这是因为表设置了外键约束,而你试图插入一条外键字段所在表纪录不存在的一个值,就会报1452错。
比如a、b两表,a表外键id值来自b表的ID。当你在a表中插入一条纪录时,id字段用了不在b表ID值范围内的值,就会报此错。

然后我恍然大悟,因为notice表里面有两条记录,改了外键,但表里面已有记录的值不在admin_realname的取值范围内,所以就报错了。我更改了记录内容,再修改外键就成功了。

 Sanding原创,转载请标注,thank you~

以上是关于mysql1452错误的主要内容,如果未能解决你的问题,请参考以下文章

MySQL 中的外键约束错误 1452 - Magento 导入

MySQL 外键约束 - 错误 1452 - 无法添加或更新子行

Mysql 错误 #1452 - 无法添加或更新子行

尝试插入外键时出现错误 #1452

MySQL错误代码1452:外键什么的错误(好长不再赘述英文了哈哈哈)

发生数据库错误 1452