使用 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用法总结
centos下MySQL Workbench连接时崩溃的解决方法
使用 MySQL Workbench 6.2 将 HSQLDB 迁移到 MySQL
SQL Server 到 Mysql 的迁移(使用 Mysql Workbench)。如何在 Workbench 向导的步骤中添加带有手动转义撇号的数据?