問題描述:
刪除數據庫表中一條數據的時候,報錯Cannot delete or update a parent row: a foreign key constraint fails。
原因:
此數據庫表和其他數據庫表有關聯,再刪除的時候會檢查表之間的關聯關系,從而導致無法刪除。
數據庫中的解決方法:
SET foreign_key_checks = 0; // 先設置外鍵約束檢查關閉
drop table table1; // 刪除表,如果要刪除視圖,也是如此
SET foreign_key_checks = 1; // 開啟外鍵約束檢查,以保持表結構完整性
可以用 show VARIABLES like "foreign%"; 檢查外鍵配置項。
off表示關閉狀態;on表示開啟狀態
如果要將檢測外鍵開啟:SET foreign_key_checks = 1;