更新查询无法在mysql工作台中运行

Jac*_*rzi 3 mysql sql mysql-workbench

我有一个MySql查询,如下所示:

UPDATE signup SET lastname='Lastname', password='123'
WHERE firstname='Firstname';
Run Code Online (Sandbox Code Playgroud)

我正在使用MySql Workbench来执行查询.

但它没有更新行并显示此错误:

您正在使用安全更新模式,并且您尝试更新没有使用KEY列的WHERE的表要禁用安全模式,请在Preferences - > SQL Editor中切换选项并重新连接.

Man*_*lvi 17

在mysql工作台中,默认情况下启用安全模式,因此如果您的WHERE子句没有密钥,则会阻止运行查询.尝试使用这些步骤禁用它 -

Edit> Preferences> Sql Editor>uncheck the "Safe Updates"

注意 - 尝试重新连接服务器(Query> Reconnect to Server),然后再次运行查询.


Sar*_*dra 8

MySQL帮助您特别避免一次性更新/删除多行。为此,它不允许您在UPDATE不传递 ID 参数的情况下运行查询。这称为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;
Run Code Online (Sandbox Code Playgroud)