1. 程式人生 > >mysql 新增外來鍵約束報錯 1452

mysql 新增外來鍵約束報錯 1452

利用MySQL WorkBench為一張表的欄位新增一個外來鍵約束:

INSERT INTO `se`.`book` (`ISBN`, `Title`, `AuthorID`, `Publisher`, `PublishDate`, `Price`) VALUES ('24022696', '從你的全世界路過', '3', '湖南文藝出版社', '2013-11', '30.60')

執行結果報錯: 1452: Cannot add or update a child row: a foreign key constraint fails (se.book, CONSTRAINT AuthorID

FOREIGN KEY (AuthorId) REFERENCES author (AuthorID))
後來查詢資料解釋是此表已有記錄資料中該外來鍵欄位的值在主表在找不到。
解決辦法就是在主表中新增該條資料或者將此表該條主表沒有的資料改成主表已有的資料即可。

原來是自己先寫了更新了另外一個表的資料,但是忘記apply,直接apply含有外來鍵的表,導致錯誤,先apply該欄位是主鍵的表,再apply該欄位是外來鍵的表即可。