MYSQL外鍵導致無法清空表

Posted by Y Cheung on Thu, Oct 27, 2016

最近設計的數據庫表含有外鍵,結果在開發時truncate table的時候報錯了,

1SQL错误(1701):Cannot truncate a table referenced in a foreign key constraint (`rollcall2`.`oncall`, CONSTRAINT `FK__calls` FOREIGN KEY (`calls_id`) REFERENCES `rollcall2`.`calls` (`id`))

解決辦法如下:

1SET FOREIGN_KEY_CHECKS = 0; 
2TRUNCATE table; 
3SET FOREIGN_KEY_CHECKS = 1;

當然也可以通過移除外鍵之類的辦法,但是感覺還是用上面幾行命令來解決比較方便。