【问题标题】:Error (Error Code: 1175) during executing update command on table using MySQL Workbench 5.2使用 MySQL Workbench 5.2 在表上执行更新命令时出错(错误代码:1175)
【发布时间】:2012-12-23 06:25:26
【问题描述】:

我正在使用 MySQL Server5.5,其中包含 MySQL Workbench 5.2 CE。我正在使用 MySQL Workbench 5.2 。我在数据库中有一个名为 user 的表。我在 MySQL Workbench 的 SQL Editor 上执行了以下命令:

UPDATE user SET email = 'abc@yahoo.com' WHERE email='ripon.wasim@yahoo.com';

但不幸的是我得到了以下错误:

Error Code: 1175. You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column To disable safe mode, toggle the option in Preferences -> SQL Editor -> Query Editor and reconnect.

怎么了?非常感谢您的帮助。

【问题讨论】:

  • user 是保留字,你可能还需要用反引号括起来。
  • @a_horse_with_no_name:很好的建议,虽然我的情况没有遇到任何问题

标签: mysql sql-update mysql-workbench error-code


【解决方案1】:

每次你尝试更新mysql中的行时遇到这种错误,那是因为你试图更新一个没有WHERE的表,它使用了KEY列。

你可以修复它,

SET SQL_SAFE_UPDATES=0;
UPDATE user SET email = 'abc@yahoo.com' WHERE email='ripon.wasim@yahoo.com';

或在工作台中

  • 编辑 -> 首选项 -> SQL 查询
  • 取消选中禁止不带 WHERE 子句的 UPDATE 和 DELETE 语句(安全更新)
  • 查询 --> 重新连接到服务器

【讨论】:

  • @a_horse_with_no_name 但email 列没有定义键。
  • SQL_SAFE_UPDATES 是系统变量,对吧?如何在 MySQL Workbench 中获取系统变量列表?
  • 在工作台 6.2 中我没有找到“SQL 查询”,而是找到了“SQL 编辑器”
【解决方案2】:

停用和重新启用更正确

SET SQL_SAFE_UPDATES=0; --disable
UPDATE user SET email = 'abc@yahoo.com' WHERE email='ripon.wasim@yahoo.com';
SET SQL_SAFE_UPDATES=1; --enable

【讨论】:

    猜你喜欢
    • 2012-07-11
    • 2017-05-31
    • 2015-03-27
    • 2018-08-25
    • 2020-12-07
    • 2017-05-15
    • 2021-03-05
    • 1970-01-01
    相关资源
    最近更新 更多