协慌网

登录 贡献 社区

MySQL 错误代码:1175 在 MySQL Workbench 中进行 UPDATE 期间

我正在尝试更新所visited的列以为其赋予值 1。我使用 MySQL 工作台,并从工作台内部的 SQL 编辑器中编写语句。我正在编写以下命令:

UPDATE tablename SET columnname=1;

它给了我以下错误:

您正在使用安全更新模式,并且试图更新不具有使用 KEY 列的 WHERE 的表。要禁用安全模式,请切换选项...。

我按照说明进行操作,然后取消选中 “ Edit菜单, Preferences SQL Editor Preferencessafe update选项。仍然出现相同的错误,我无法更新此值。拜托,告诉我有什么问题?

答案

看来您的 MySql 会话已设置了safe-updates 选项 。这意味着如果不在 where 子句中指定键(例如primary key ),就无法更新或删除记录。

尝试:

SET SQL_SAFE_UPDATES = 0;

或者,您可以修改查询以遵循规则(在where clause使用primary key )。

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

  1. 转到Edit -> Preferences
  2. 单击"SQL Editor"选项卡,然后uncheck “安全更新” check box
  3. Query -> Reconnect to Server // 注销,然后登录
  4. 现在执行您的 SQL 查询

ps,无需重新启动 MySQL 守护程序!

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