【问题标题】:how to avoid this error in mysql while updating a record? [duplicate]更新记录时如何避免mysql中的这个错误? [复制]
【发布时间】:2019-07-25 01:00:36
【问题描述】:

我有一个表 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 的表。禁用 安全模式,切换 Preferences -> SQL Editor 中的选项,然后 重新连接。 0.000 秒

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

【问题讨论】:

  • 我认为错误信息很清楚。你不明白什么?
  • @Gordon Linoff 我无法理解。抱歉,我是 SQL 初学者?如果问题很愚蠢

标签: mysql


【解决方案1】:

在您的 IDE(可能是 mysql Workbench)中,您启用了 safe mode .. 这意味着您只能在 where 条件下使用作为该行主键的列来执行更新或删除 .. 在您的情况下,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;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-10
    相关资源
    最近更新 更多