我在名为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.
谢谢.
最佳答案
此SQL查询尝试使用这些值更新books表中的每个记录,因为您没有WHERE子句.它失败了,因为你只能有一个带有该标签值的记录,但查询想要将它们全部设置到它.
我想你可能没有执行你想要的查询.也许您打算用该标签更新记录的标题和时间.检查你的语法.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。