使用 MySQL Workbench 5.2 在表上执行更新命令时出错(错误代码:1175)

Posted

技术标签:

【中文标题】使用 MySQL Workbench 5.2 在表上执行更新命令时出错(错误代码:1175)【英文标题】:Error (Error Code: 1175) during executing update command on table using MySQL Workbench 5.2 【发布时间】: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.

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

【问题讨论】:

MySQL error code: 1175 when updating 的可能重复项 user 是保留字,你可能还需要用反引号括起来。 @a_horse_with_no_name:很好的建议,虽然我的情况没有遇到任何问题 【参考方案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

【讨论】:

以上是关于使用 MySQL Workbench 5.2 在表上执行更新命令时出错(错误代码:1175)的主要内容,如果未能解决你的问题,请参考以下文章

使用MySQL Workbench进行数据库设计——MySQL Workbench用法总结

如何用MySQL workbench查询数据

centos下MySQL Workbench连接时崩溃的解决方法

使用 MySQL Workbench 6.2 将 HSQLDB 迁移到 MySQL

SQL Server 到 Mysql 的迁移(使用 Mysql Workbench)。如何在 Workbench 向导的步骤中添加带有手动转义撇号的数据?

MySQL Workbench 图形化界面工具