【发布时间】:2015-09-08 08:24:48
【问题描述】:
我正在尝试在我的数据库中运行 3 个查询:
UPDATE `table` SET `rubriq` = '77' WHERE `rubriq` = '61';
UPDATE `table` SET `rubriq` = '77' WHERE `rubriq` = '62';
UPDATE `table` SET `rubriq` = '77' WHERE `rubriq` = '63';
在table 中,我有两列abonne 和rubriq。 Abonne是主键,两个是索引。
如果在我的数据库中有例如:
abonne | rubriq
84 | 61
84 | 62
84 | 63
当我运行 3 个查询时,第一个没有问题,但第二个,我有一个错误:#1062 - Duplicate entry '84-77' for key 1
我该如何运行这 3 个查询,但是,当出现这样的错误时,只需删除该行?
谢谢!
【问题讨论】:
-
也许你的
rubriq列是主键。请检查。而且,您的 rubriq 中只有 1 列? -
请提供表的结构及其键。另请检查唯一索引。
-
您的表包含唯一键,其中列
abonne和rubriq显示Duplicate Entry的错误 -
abonne为主键,两列为索引
-
当你说“just remove the line”时,你的意思是要从表中删除重复记录还是要从执行中删除命令列表?如果是前者,我们假设保存冲突值的第一个记录并删除所有其他记录是否正确?如果是后者,我们是否正确假设该命令仍应针对所有其他(非冲突)记录执行?
标签: mysql