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

时间:2019-03-03 16:24:20

标签: mysql

我有dapartment_dup表,我想在执行查询时更新记录,这会给我一个错误

我的查询是

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

,错误是

  

21:17:21更新department_dup设置dept_name = null,其中dept_no =   'd010'错误代码:1175。您正在使用安全更新模式,并且您尝试过   更新没有使用KEY列的WHERE的表。禁用   安全模式下,在偏好设置-> SQL编辑器中切换选项,然后   重新连接。 0.000秒

在错误消息中,它为我提供了路径,但我不知道在哪里重新连接?

1 个答案:

答案 0 :(得分:1)

在您的IDE中(可能是mysql Workbench),您启用了safe mode ..这意味着您只能在满足条件的情况下使用作为该行主键的列来执行更新或删除。 dept_no不是主键..

因此,如果您要在问题中使用更新代码,则可以在mysql Workbench中禁用安全模式

或添加涉及您的主键列的条件
假设您的主键列名为your_key_col add AND your_key_col <>

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