1. 程式人生 > >mysql刪除資料庫所有外來鍵

mysql刪除資料庫所有外來鍵

刪除所有表的外來鍵  查詢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  版權宣告:本文為博主原創文章,轉載請附上博文連結!