错误代码:1062更新语句中键“key_id”的重复条目“####”

问题描述

我正在尝试更新表中的记录,但出现以下错误

Error Code: 1062. Duplicate entry '5452' for key 'device_id'

来自

update device_info set  serial_number = '728015162815',ip_address = '192.168.77.121',location_code = '1',battery_status = 'Not Charging : 36%'       
where device_id = 5452

这里发生了什么?我可以理解 插入 上的这个错误,但这是在 更新语句 上抛出的。

解决方法

为了记录,上面的评论显示了解决方案。

根据您运行的 SQL 语句似乎不可能出现的神秘错误可能是由另一个 SQL 语句引起的。这怎么会发生?它可以由您的 UPDATE 产生的触发器运行。

触发器可能正在向其他某个表插入一行,从而导致重复键错误。或者触发器可能会更改正在更新的当前行的唯一列中的值,这也可能导致相同的错误。

这将显示存在哪些触发器:

SHOW TRIGGERS;

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...