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

UPDATE tablename SET columnname=1;

它给了我以下错误:

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

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


当前回答

我找到了答案。问题是我必须在表名之前加上模式名。也就是说,命令应该是:

UPDATE schemaname.tablename SET columnname=1;

谢谢所有。

其他回答

第一: 请确保您想要更新该表中的所有记录,因为如果没有where子句,更新该表中的所有记录是危险的。很少需要更新表中的所有记录。

大多数时候,你想要更新特定的记录,其中应该包括where cluase,如果你再次想要更新所有的记录,打开MySQL工作台>编辑>首选项>SQL编辑>向下滚动,并取消选中“安全更新(拒绝更新和删除没有限制)”。

这是为了安全更新。

如果您取消选中上面所说的,那么您可能会更新所有记录,而不是导致数据库备份恢复的一条记录。没有回滚。

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

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

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

在工作台上,我通过禁用安全更新模式解决了这个问题:

-编辑->首选项-> Sql编辑器然后取消安全更新。

最简单的解决方案是定义行限制并执行。这样做是为了安全。

我刚刚添加了COMMIT;最后