更新查询在 mysql workbench 中不起作用
Update query not working in mysql workbench
我有一个 MySql 查询,如下所示:
UPDATE signup SET lastname='Lastname', password='123'
WHERE firstname='Firstname';
我正在使用 MySql Workbench 来执行查询。
但它没有更新行并显示此错误:
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 and reconnect.
[编辑]
@ManojSalvi 知道了,workbench 相关
MySQL error code: 1175 during UPDATE in MySQL Workbench
对我来说很好...
MySQL 5.6 架构设置:
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';
查询 1:
select * from t
| firstname | lastname | password |
|-----------|----------------|----------|
| Pramod | Alfred Schmidt | 123 |
| test | hello h. | *** |
在 mysql workbench 中默认启用安全模式,因此如果您的 WHERE
子句没有密钥,它将阻止 运行 查询.尝试使用这些步骤禁用它 -
Edit
> Preferences
> Sql Editor
> uncheck the "Safe Updates"
注意 - 尝试重新连接服务器 (Query
> Reconnect to Server
) 然后再次 运行 您的查询。
MySQL
可以帮助您特别避免 updating/deleting 一次拍摄多行。为此,它不允许您在不传递 ID 参数的情况下进行 运行 UPDATE
查询。这称为 SAFE UPDATES
模式。
正如@ManojSalvi 所说,您可以从设置中永久设置它。
如果您想暂时禁用 SAFE UPDATE
模式,您可以尝试以下操作:-
SET SQL_SAFE_UPDATES = 0;
UPDATE signup SET lastname='Lastname', password='123'
WHERE firstname='Firstname';
SET SQL_SAFE_UPDATES = 1;
"Safe mode" 在 MySQL workbench 中默认打开。可以改到左上角我的sqlworkbench –> preferences –> sql editor –> 取消勾选安全模式,然后尝试重新连接。或者你可以直接输入
SET SQL_SAFE_UPDATES = 0;
这会做同样的事情。
我认为这与 SAFE UPDATES
没有任何关系,因为您已经明确表示 WHERE
您想要进行更改。
我遇到了同样的问题,但我尝试将 列的名称 包装在反引号中,并且成功了。您可以在键盘上数字 1 的左侧找到反引号。
您可以尝试的另一件事是 SELECT
table 并双击您想要 UPDATE
的项目然后应用window.
右下角的变化
我有一个 MySql 查询,如下所示:
UPDATE signup SET lastname='Lastname', password='123'
WHERE firstname='Firstname';
我正在使用 MySql Workbench 来执行查询。
但它没有更新行并显示此错误:
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 and reconnect.
[编辑] @ManojSalvi 知道了,workbench 相关
MySQL error code: 1175 during UPDATE in MySQL Workbench
对我来说很好...
MySQL 5.6 架构设置:
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';
查询 1:
select * from t
| firstname | lastname | password |
|-----------|----------------|----------|
| Pramod | Alfred Schmidt | 123 |
| test | hello h. | *** |
在 mysql workbench 中默认启用安全模式,因此如果您的 WHERE
子句没有密钥,它将阻止 运行 查询.尝试使用这些步骤禁用它 -
Edit
> Preferences
> Sql Editor
> uncheck the "Safe Updates"
注意 - 尝试重新连接服务器 (Query
> Reconnect to Server
) 然后再次 运行 您的查询。
MySQL
可以帮助您特别避免 updating/deleting 一次拍摄多行。为此,它不允许您在不传递 ID 参数的情况下进行 运行 UPDATE
查询。这称为 SAFE UPDATES
模式。
正如@ManojSalvi 所说,您可以从设置中永久设置它。
如果您想暂时禁用 SAFE UPDATE
模式,您可以尝试以下操作:-
SET SQL_SAFE_UPDATES = 0;
UPDATE signup SET lastname='Lastname', password='123'
WHERE firstname='Firstname';
SET SQL_SAFE_UPDATES = 1;
"Safe mode" 在 MySQL workbench 中默认打开。可以改到左上角我的sqlworkbench –> preferences –> sql editor –> 取消勾选安全模式,然后尝试重新连接。或者你可以直接输入
SET SQL_SAFE_UPDATES = 0;
这会做同样的事情。
我认为这与 SAFE UPDATES
没有任何关系,因为您已经明确表示 WHERE
您想要进行更改。
我遇到了同样的问题,但我尝试将 列的名称 包装在反引号中,并且成功了。您可以在键盘上数字 1 的左侧找到反引号。
您可以尝试的另一件事是 SELECT
table 并双击您想要 UPDATE
的项目然后应用window.