0%

MySQL 更新或刪除產生 Error Code: 1175

錯誤

1
2
Error Code: 1175. You are using safe update mode and you tried to update a table without a WHERE that
uses a KEY column To disable safe mode, toggle the option in Preferences -> SQL Editor -> Query Editor and reconnect.

原因

mysql有個叫SQL_SAFE_UPDATES的變數開啟的狀態下,在沒有 WHERE 或 LIMIT 條件的 UPDATE 或 DELETE 動作會拒絕執行而即使是有 WHERE 和 LIMIT 條件,但沒有 KEY column 的 WHERE 條件也會拒絕執行。

解決辦法

1
2
3
SET SQL_SAFE_UPDATES=0;//關閉
//You want do something...
SET SQL_SAFE_UPDATES=1;//結束後再開啟

總結

一直發生這個問題很困擾又常常忘記指令,直接記下來以後直接來這裡複製比較快。

參考資料:http://chingsoo.pixnet.net/blog/post/292464274-%5Bmysql%5D-%E9%97%9C%E9%96%89safe-update-mode