我试图更新访问的列,使其值为1。我使用MySQL工作台,我从工作台内部在SQL编辑器中编写语句。我正在写下面的命令:

UPDATE tablename SET columnname=1;

它给了我以下错误:

您正在使用安全更新模式,并且试图在没有 若要禁用安全模式,请切换该选项 ....

我按照说明,我从编辑菜单中取消了安全更新选项,然后是首选项,然后是SQL编辑器。同样的错误仍然出现&我无法更新此值。求你了,告诉我怎么了?


当前回答

SET SQL_SAFE_UPDATES=0;
UPDATE tablename SET columnname=1;
SET SQL_SAFE_UPDATES=1;

其他回答

SET SQL_SAFE_UPDATES=0;
UPDATE tablename SET columnname=1;
SET SQL_SAFE_UPDATES=1;

的确,对于大多数例子来说,这是毫无意义的。但最后,我得到了以下声明,它很有效:

update tablename  set column1 = '' where tablename .id = (select id from tablename2 where tablename2.column2 = 'xyz');

错误码:1175。您正在使用安全更新模式,并且您试图更新一个没有使用KEY列的WHERE的表。要禁用安全模式,请切换首选项-> SQL编辑器中的选项并重新连接。

暂时关闭“安全更新模式”

SET SQL_SAFE_UPDATES = 0;
UPDATE options SET title= 'kiemvieclam24h' WHERE url = 'http://kiemvieclam24h.net';
SET SQL_SAFE_UPDATES = 1;

永远关闭“安全更新模式”

Mysql工作台8.0:

MySQL Workbench => [ Edit ] => [ Preferences ] -> [ SQL Editor ] -> Uncheck "Safe Updates"

旧版本可以:

MySQL Workbench => [Edit] => [Preferences] => [SQL Queries]

执行UPDATE命令前,请按照以下步骤进行操作: 在MySQL Workbench中

点击编辑——>首选项 单击“SQL编辑器”页签,取消选中“安全更新”复选框 查询——>重新连接服务器//注销,然后登录 现在执行SQL查询

另外,不需要重新启动MySQL守护进程!

MySql工作台给了我同样的错误,在我取消安全模式后,我重新连接服务器和更新功能工作。 在菜单栏单击“查询”,重新连接服务器

查询菜单->重新连接服务器