当前位置: 首页 > 知识库问答 >
问题:

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

司迪
2023-03-14
update department_dup 
set dept_name = null
where dept_no = 'd010';

21:17:21 update DEPT_DUP set dept_name=null,其中dept_no='D010'错误代码:1175。您使用的是安全更新模式,并且试图更新一个没有使用键列的WHERE的表。要禁用安全模式,请在Preferences->SQL Editor中切换该选项并重新连接。0.000秒

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

共有1个答案

阴高寒
2023-03-14

在您的IDE(很可能是mysql工作台)中,您启用了安全模式。这意味着只能在where条件中使用作为行的主键的列来执行update或delet。在您的情况下,dept_no不是主键。

因此,如果您想使用问题中的更新代码,您可以在mysql工作台中禁用安全模式

或者添加涉及主键列的条件
假设主键列为name your_key_col add和your_key_col<>

update department_dup 
set dept_name = null
where dept_no = 'd010'
AND   your_key_col<>0;
 类似资料:
  • 我有一个特定的MySQL语句,它确实在其子句中指定了所需的主键,但在MySQL工作台中运行时仍然产生错误1175。 在MySQL工作台更新期间,我完全知道MySQL错误代码:1175。我的情况似乎与更新期间的MySQL错误代码:1175相同(MySQL-Workbench vs.console)。与提问者一样,我不希望禁用MySQL-Workbench的“安全更新/删除”选项。那个问题没有得到解决

  • 我有一个由3列组成的用户设置表(或见下图):,,。 然后我有两个函数,一个保存时区,一个保存时间格式。 当我第一次运行函数时(每个函数都是通过ajax调用独立运行的),我得到了正确的结果: 然后,当我尝试更新

  • 我正在将oracle从10升级到12,对于这个特定的项目,我遇到了以下错误: 似乎它没有识别我在DataSource上添加的配置: 我们使用的是Java 8,我们对代码有这些依赖关系: 问题是它正在为另一个项目工作(与这个项目具有相同的结构,但由于某种原因它在这里不起作用) 是否有任何遗漏或我可以找到问题并解决问题的地方?

  • 问题内容: 我试图写一个近似平方根的函数(我知道有数学模块……我想自己做),但我被浮点运算搞砸了。如何避免这种情况? 使用它会产生以下结果: 我意识到我可以使用,但是我希望能够做到这一点非常准确。我希望能够计算出6或7位数字。如果我四舍五入,那将是不可能的。我想了解如何在Python中正确处理浮点计算。 问题答案: 这实际上与Python无关- 使用硬件的二进制浮点算法,您会在任何语言中看到相同的

  • 当方法调用的嵌套层级过深,导致栈空间耗尽时,会抛出StackOverflowError错误。 尝试复现问题,代码如下: