刪除MySQL中所有表的外鍵的兩種方法
更新時間:2024年05月28日 10:56:15 作者:梁云亮
這篇文章主要介紹了刪除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';

第二步:
將執(zhí)行第一步得到的SQL語句拷貝到命令行中執(zhí)行,就會刪除所有的外鍵了。
方法二
-- 禁用外鍵約束 SET FOREIGN_KEY_CHECKS = 0 -- 啟用外鍵約束 SET FOREIGN_KEY_CHECKS = 1;
由于FOREIGN_KEY_CHECKS是基于session的,當關閉了session重新建立連接,這個變量就會恢復默認值,也就是開啟外鍵約束,當然我們也可以全局的FOREIGN_KEY_CHECKS變量。
SET GLOBAL FOREIGN_KEY_CHECKS = 0; 或者: SET @@GLOBAL.FOREIGN_KEY_CHECKS = 0;
修改完成后,可以使用下面命令查看修改后的結果:
SELECT @@FOREIGN_KEY_CHECKS;
到此這篇關于刪除MySQL中所有表的外鍵的兩種方法的文章就介紹到這了,更多相關刪除MySQL所有外鍵內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

