1、
https://www.cnblogs.com/jiazhutao/p/12575821.html
在MySQL中刪除一張表或一條數據的時候,出現
[Err] 1451 -Cannot deleteorupdatea parent row:
aforeignkeyconstraintfails (...)
這是因為MySQL中設置了foreign key關聯,造成無法更新或刪除數據。可以通過設置FOREIGN_KEY_CHECKS變量來避免這種情況。
禁用外鍵約束,我們可以使用:
SET FOREIGN_KEY_CHECKS=0;
然后再刪除數據
啟動外鍵約束,我們可以使用:
SET FOREIGN_KEY_CHECKS=1;
查看當前FOREIGN_KEY_CHECKS的值,可用如下命令:
SELECT @@FOREIGN_KEY_CHECKS;
2、
https://www.cnblogs.com/tjudzj/p/10003908.html
mysql清空表可以用delete和truncate兩個命令來完成:
1. delete
① 語法:delete from table_name;
② 示例:DELETE FROM `order`;
2. truncate
① 語法:truncate table table_name;
② 示例:TRUNCATE TABLE `order`;
3. 區別
① 使用delete清空表中的記錄,內容的ID仍然從刪除點的ID繼續建立,而不是從1開始。而truncate相當於保留了表的結構而重新建立了一張同樣的新表。delete的效果有點像將mysql表中所有記錄一條一條刪除到刪完。
② 效率上truncate比delete快。但truncate刪除后不記錄mysql日志,不可以恢復數據。
