更新记录时如何避免mysql中的这个错误? [复制]
Posted
技术标签:
【中文标题】更新记录时如何避免mysql中的这个错误? [复制]【英文标题】:how to avoid this error in mysql while updating a record? [duplicate] 【发布时间】: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 初学者?如果问题很愚蠢 【参考方案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;
【讨论】:
以上是关于更新记录时如何避免mysql中的这个错误? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
我有一种形式可以更新mysql中的某些值,当输入为空时,如何避免更新单元格?