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

Error Code: 1062. Duplicate entry '####' for key 'key_id' on update statement

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

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

这是怎么回事?我可以在 insert 上理解这个错误,但这是在 update 语句 .

上抛出的

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

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

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

这将告诉您存在哪些触发器:

SHOW TRIGGERS;