MySQL UPDATE上的密钥重复条目

时间:2012-07-08 05:58:11

标签: mysql unique-key

我在名为unique的列上有一个label索引,但由于某些奇怪的原因,我尝试进行更新,例如:

UPDATE books SET label = 'foo bar', title = 'something new', modified = UTC_TIMESTAMP();

并且已经存在一行带有label ='foo bar'的错误:

 #1062 - Duplicate entry 'foo bar' for key 'label'

如何让MySQL进行更新?这不应该破坏,因为从技术上来说,只有一行使用键foo bar

感谢。

1 个答案:

答案 0 :(得分:10)

此SQL查询尝试使用这些值更新books表中的每个记录,因为您没有WHERE子句。它失败了,因为你只能有一个带有该标签值的记录,但查询想要将它们全部设置到它。

我想你可能没有执行你想要的查询。也许您打算用该标签更新记录的标题和时间。检查你的语法。