我正在尝试更新所visited
的列以为其赋予值 1。我使用 MySQL 工作台,并从工作台内部的 SQL 编辑器中编写语句。我正在编写以下命令:
UPDATE tablename SET columnname=1;
它给了我以下错误:
您正在使用安全更新模式,并且试图更新不具有使用 KEY 列的 WHERE 的表。要禁用安全模式,请切换选项...。
我按照说明进行操作,然后取消选中 “ Edit
菜单, Preferences
SQL Editor
Preferences
的safe update
选项。仍然出现相同的错误,我无法更新此值。拜托,告诉我有什么问题?
看来您的 MySql 会话已设置了safe-updates 选项 。这意味着如果不在 where 子句中指定键(例如primary key
),就无法更新或删除记录。
尝试:
SET SQL_SAFE_UPDATES = 0;
或者,您可以修改查询以遵循规则(在where clause
使用primary key
)。
在执行 UPDATE 命令之前,请按照以下步骤操作: 在 MySQL Workbench 中
Edit
-> Preferences
"SQL Editor"
选项卡,然后uncheck
“安全更新” check box
Query
-> Reconnect to Server
// 注销,然后登录ps,无需重新启动 MySQL 守护程序!
SET SQL_SAFE_UPDATES=0;
UPDATE tablename SET columnname=1;
SET SQL_SAFE_UPDATES=1;