如果在 phpMyAdmin 出現以下訊息的時候,就是代表有可能 MySQL 在 InnoDB內有設 foreign Key 造成無法更新或刪除資料的狀況。
Cannot delete or update a parent row: a foreign key constraint fails
這個在 MySQL Bugs 裡面也很多人提出過了:
http://bugs.mysql.com/bug.php?id=2535
http://bugs.mysql.com/bug.php?id=3623
如果出現這個狀況,先檢查你的 foreign Key 是不是有必要,只留真的需要的就可以了。
一般程式還是能正常存取,如果只是要暫時用 phpMyAdmin 做簡單的更新,在不更動 foreign Key 最簡單的方法就是先把 table 改為 MyISAM :
ALTER TABLE `xyz` TYPE = MYISAM
改完再改回 InnoDB 囉!
ALTER TABLE `xyz` TYPE = INNODB
1 comments On phpMyAdmin 出現 Cannot delete or update a parent row: a foreign key constraint fails
可以使用SET FOREIGN_KEY_CHECKS=0;来避免这种情况