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;

Tags:

Leave a Reply