如何在更新记录时避免mysql中的此错误?

11 浏览
0 Comments

如何在更新记录时避免mysql中的此错误?

这个问题已经有答案了:

MySQL Workbench中UPDATE时出现错误代码1175

我有一个名为dapartment_dup的表,我想在执行查询时更新记录,但是它给我一个错误。

我的查询是

update department_dup 
set dept_name = null
where dept_no = 'd010';

错误是

21:17:21 update department_dup set dept_name = null where dept_no =

\'d010\' 错误代码: 1175。你正在使用安全更新模式,并且尝试更新一个没有使用关键字列作为WHERE条件的表。要禁用安全模式,请切换到首选项->SQL编辑器选项,并重新连接。 0.000秒

在错误消息中,它给了我路径,但我无法理解在哪里重新连接?

admin 更改状态以发布 2023年5月24日
0
0 Comments

在你的IDE(可能是mysql Workbench)中,你启用了安全模式..这意味着你只能在使用主键作为条件的情况下执行更新或删除操作.. 在你的情况下,dept_no不是主键..

因此,如果你想使用你的问题中的更新代码,你可以禁用mysql Workbench中的安全模式

或者增加一个涉及主键列的条件,假设你的主键列名为your_key_col,则添加AND your_key_col <>

update department_dup 
set dept_name = null
where dept_no = 'd010'
AND   your_key_col<>0;

0