mysql刪除帶外鍵約束的表的方法


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日志,不可以恢復數據。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM