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~


免責聲明!

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



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