我正在尝试更新列visited
,使其值为1。我使用MySQL workbench,并在工作台内部的SQL编辑器中编写语句。我正在编写以下命令:
UPDATE tablename SET columnname=1;
它给了我以下错误:
您正在使用安全更新模式,但您试图更新一个没有WHERE的表,该表使用键列禁用安全模式,请切换该选项。。。。
我按照说明进行操作,然后取消选中编辑
菜单中的安全更新
选项,然后取消选中首选项
,然后取消选中SQL编辑器
。仍然会出现相同的错误&;我无法更新此值。拜托,告诉我怎么了?
看起来您的MySql会话设置了safe-updates选项。这意味着如果不在where子句中指定键(例如primary key
),就无法更新或删除记录。
尝试:
SET SQL_SAFE_UPDATES = 0;
或者可以修改查询以遵循该规则(在WHERE子句
中使用PRIMARY KEY
)。
在执行UPDATE命令之前,请遵循以下步骤:在MySQL工作台中
编辑
-->;首选项
“SQL编辑器”
选项卡并取消选中
“安全更新”复选框
查询
-->;重新连接到服务器
//logout,然后登录另外,不需要重新启动MySQL守护进程!
SET SQL_SAFE_UPDATES=0;
UPDATE tablename SET columnname=1;
SET SQL_SAFE_UPDATES=1;