mysql刪除資料庫所有外來鍵
阿新 • • 發佈:2018-12-16
刪除所有表的外來鍵 查詢schema中所有外來鍵名稱然後拼接生成刪除語句,再執行。
SELECT CONCAT('ALTER TABLE ',TABLE_SCHEMA,'.',TABLE_NAME,' DROP FOREIGN KEY ',CONSTRAINT_NAME,' ;') FROM information_schema.TABLE_CONSTRAINTS c WHERE c.TABLE_SCHEMA='庫名' AND c.CONSTRAINT_TYPE='FOREIGN KEY'; 修改MySQL變數FOREIGN_KEY_CHECKS -- 禁用外來鍵約束 SET FOREIGN_KEY_CHECKS = 0 -- 啟用外來鍵約束 SET FOREIGN_KEY_CHECKS = 1; 由於FOREIGN_KEY_CHECKS是基於session的,當關閉了session重新建立連線,這個變數就會恢復預設值,也就是開啟外來鍵約束,當然我們也可以全域性的FOREIGN_KEY_CHECKS變數。
SET GLOBAL FOREIGN_KEY_CHECKS = 0; 1 或者:
SET @@GLOBAL.FOREIGN_KEY_CHECKS = 0; 1 修改完成後,我們可以檢視修改後的結果
SELECT @@FOREIGN_KEY_CHECKS; --------------------- 作者:李阿飛 來源:CSDN 原文:https://blog.csdn.net/junlovejava/article/details/78360253 版權宣告:本文為博主原創文章,轉載請附上博文連結!