MySQL 的 Safe Update Mode

最近要更新 MySQL 資料表內其中一個欄位的所有資料,只是用以下這個 SQL 指令:

UPDATE table_name SET field_name=0;

有個 MySQL 回傳的錯誤訊息為:

“You are using safe update mode and you tried to update a table without a WHERE clause that uses a KEY column.”

查看一些資料後,原來 MySQL 在沒有 WHERE 或 LIMIT 條件下會拒絕執行 UPDATE 或 DELETE querey,即使是沒有 KEY column 的 WHERE 條件也會拒絕執行。

要解決就是將 MySQL 的 Safe Update Mode 關閉:

SET SQL_SAFE_UPDATES=0;
UPDATE table_name SET field_name=0;

如果要重新啟用 Safe Update Mode,只要執行:

SET SQL_SAFE_UPDATES=1;




Leave a Reply