我有一个MySql查询,如下所示:
UPDATE signup SET lastname='Lastname', password='123' WHERE firstname='Firstname';
我正在使用MySql Workbench来执行查询 .
但它没有更新行并显示此错误:
您正在使用安全更新模式,并且您尝试更新没有使用KEY列的WHERE的表要禁用安全模式,请在Preferences - > SQL Editor中切换选项并重新连接 .
在mysql工作台中,默认情况下启用安全模式,因此如果 WHERE 子句没有密钥,则会阻止运行查询 . 尝试使用这些步骤禁用它 -
WHERE
Edit > Preferences > Sql Editor > uncheck the "Safe Updates"
Edit
Preferences
Sql Editor
uncheck the "Safe Updates"
Note - 尝试重新连接服务器( Query > Reconnect to Server ),然后再次运行查询 .
Query
Reconnect to Server
MySQL 可帮助您特别避免一次更新/删除多行 . 为此,它不允许您在不传递ID参数的情况下运行 UPDATE 查询 . 这被称为 SAFE UPDATES 模式 .
MySQL
UPDATE
SAFE UPDATES
正如@ManojSalvi所说,您可以从设置中永久设置它 .
如果您想暂时禁用所述 SAFE UPDATE 模式,您可以尝试以下方法: -
SAFE UPDATE
SET SQL_SAFE_UPDATES = 0; UPDATE signup SET lastname='Lastname', password='123' WHERE firstname='Firstname'; SET SQL_SAFE_UPDATES = 1;
MySQL工作台默认启用“安全模式” . 您可以将其更改为左上角的mysqlworkbench - > preferences-> sql editor - >取消选中安全模式,然后尝试重新连接 . 或者你可以输入
SET SQL_SAFE_UPDATES = 0;
这也是一样的 .
[编辑] @ManojSalvi得到它,工作台相关
MySQL error code: 1175 during UPDATE in MySQL Workbench
对我工作很好......
SQL Fiddle
MySQL 5.6 Schema Setup :
CREATE TABLE t (`firstname` varchar(6), `lastname` varchar(14), `password` varchar(3)) ; INSERT INTO t (`firstname`, `lastname`, `password`) VALUES ('Pramod', 'Alfred', '***'), ('test', 'hello h.', '***') ; UPDATE t SET lastname='Alfred Schmidt', password='123' WHERE firstname='Pramod';
Query 1 :
select * from t
Results :
| firstname | lastname | password | |-----------|----------------|----------| | Pramod | Alfred Schmidt | 123 | | test | hello h. | *** |
4 回答
在mysql工作台中,默认情况下启用安全模式,因此如果
WHERE
子句没有密钥,则会阻止运行查询 . 尝试使用这些步骤禁用它 -Edit
>Preferences
>Sql Editor
>uncheck the "Safe Updates"
Note - 尝试重新连接服务器(
Query
>Reconnect to Server
),然后再次运行查询 .MySQL
可帮助您特别避免一次更新/删除多行 . 为此,它不允许您在不传递ID参数的情况下运行UPDATE
查询 . 这被称为SAFE UPDATES
模式 .正如@ManojSalvi所说,您可以从设置中永久设置它 .
如果您想暂时禁用所述
SAFE UPDATE
模式,您可以尝试以下方法: -MySQL工作台默认启用“安全模式” . 您可以将其更改为左上角的mysqlworkbench - > preferences-> sql editor - >取消选中安全模式,然后尝试重新连接 . 或者你可以输入
SET SQL_SAFE_UPDATES = 0;
这也是一样的 .
[编辑] @ManojSalvi得到它,工作台相关
MySQL error code: 1175 during UPDATE in MySQL Workbench
对我工作很好......
SQL Fiddle
MySQL 5.6 Schema Setup :
Query 1 :
Results :