欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

mysql 刪除表有外鍵約束

林子帆2年前12瀏覽0評論

當我們在 MySQL 中想要刪除一個有外鍵約束的數據表時,通常會遇到下面這個錯誤:

ERROR 1217 (23000): Cannot delete or update a parent row: a foreign key constraint fails

這是因為有時候存在在這個表中定義的外鍵,并且這個外鍵約束還被其他表所引用,導致無法直接刪除,下面介紹兩種解決方案。

方案一:刪除外鍵約束后刪除表。

ALTER TABLE `表名` DROP FOREIGN KEY `外鍵名`;
DROP TABLE `表名`;

上面的代碼先使用了 ALTER TABLE 語句刪除了外鍵約束,接著用 DROP TABLE 語句刪除了表。

方案二:刪除其他引用表上的約束。

SET FOREIGN_KEY_CHECKS=0;
DROP TABLE `引用表一`;
DROP TABLE `引用表二`;
DROP TABLE `表名`;
SET FOREIGN_KEY_CHECKS=1;

這段代碼首先使用了 SET FOREIGN_KEY_CHECKS=0 禁用了外鍵檢查,接著分別刪除了引用表和被引用的表,最后使用 SET FOREIGN_KEY_CHECKS=1 啟用了外鍵檢查。

通過以上兩種方式可以成功刪除有外鍵約束的數據表。