站长网 MySql教程 MySQL UPDATE上的密钥重复条目

MySQL UPDATE上的密钥重复条目

我在名为label的列上有一个唯一索引,但由于某些奇怪的原因,我尝试进行更新,如: UPDATE books SET label = ‘foo bar’,title = ‘something new’,modified = UTC_TIMESTAMP(); 并且已经存在一行带有label =foo bar的错误: #1062 – Duplicate entry ‘foo bar

我在名为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子句.它失败了,因为你只能有一个带有该标签值的记录,但查询想要将它们全部设置到它.

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

本文来自网络,不代表站长网立场,转载请注明出处:https://www.tzzz.com.cn/html/jc/mysql/2021/0523/4440.html

作者: dawei

【声明】:站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。
联系我们

联系我们

0577-28828765

在线咨询: QQ交谈

邮箱: xwei067@foxmail.com

工作时间:周一至周五,9:00-17:30,节假日休息

返回顶部