我试图更新访问的列,使其值为1。我使用MySQL工作台,我从工作台内部在SQL编辑器中编写语句。我正在写下面的命令:
UPDATE tablename SET columnname=1;
它给了我以下错误:
您正在使用安全更新模式,并且试图在没有 若要禁用安全模式,请切换该选项 ....
我按照说明,我从编辑菜单中取消了安全更新选项,然后是首选项,然后是SQL编辑器。同样的错误仍然出现&我无法更新此值。求你了,告诉我怎么了?
我试图更新访问的列,使其值为1。我使用MySQL工作台,我从工作台内部在SQL编辑器中编写语句。我正在写下面的命令:
UPDATE tablename SET columnname=1;
它给了我以下错误:
您正在使用安全更新模式,并且试图在没有 若要禁用安全模式,请切换该选项 ....
我按照说明,我从编辑菜单中取消了安全更新选项,然后是首选项,然后是SQL编辑器。同样的错误仍然出现&我无法更新此值。求你了,告诉我怎么了?
当前回答
SET SQL_SAFE_UPDATES=0;
OR
点击编辑——>首选项
单击“SQL查询”页签,取消选中“安全更新”复选框
查询——>重新连接服务器
现在执行sql查询
其他回答
最简单的解决方案是定义行限制并执行。这样做是为了安全。
我刚刚添加了COMMIT;最后
我找到了答案。问题是我必须在表名之前加上模式名。也就是说,命令应该是:
UPDATE schemaname.tablename SET columnname=1;
谢谢所有。
我也有同样的问题,但当我关闭“安全更新”在编辑-> 首选项-> SQL编辑器->安全更新,我仍然使用面对 错误码为“1175禁用安全模式”
我对这个错误的解决方案只是给出了表的主键,如果没有给出,并使用这些主键值更新列。
例如:UPDATE[表名]SET Empty_Column = 'Value' WHERE [主键列名]= value;
看起来你的MySql会话有安全更新选项集。这意味着如果在where子句中没有指定键(例如主键),就不能更新或删除记录。
Try:
SET SQL_SAFE_UPDATES = 0;
或者您可以修改您的查询以遵循规则(在where子句中使用主键)。