mysql 無法刪除資料表的處理方式

要刪除資料表或是它的一個欄位, 卻出現 ERROR 1217 (23000) at line 40: Cannot delete or update a parent row: a foreign key constraint fails 時, 很明顯的, 有個外部鍵卡在那裡, 讓你動彈不得。

想要看一個資料表自己是不是有對別人做外部鍵的連結, 可以用

在接近最後面的地方會列出外部鍵的名稱,用

就可以把AAA的外部鍵拿掉。

但是現在反過來, 你知道有資料表連結到AAA, 但是不知道是誰, 那該怎麼找?

首先, 先執行你原來想執行的敘述, 例如:

然後看到了熟悉的錯誤訊息, 此時執行

會印出資料庫引擎的錯誤訊息, 你就可以從那裡去看到詳細的外部鍵錯誤, 於是就可以抓到是誰用外部鍵去連結AAA了。

 

Leave a Reply

你的電子郵件位址並不會被公開。 必要欄位標記為 *