gpt4 book ai didi

mysql - SQL UPDATE 或 DELETE 如果重复

转载 作者:可可西里 更新时间:2023-11-01 07:06:59 24 4
gpt4 key购买 nike

我正在尝试在我的数据库中运行 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 中,我有两列 abonnerubriq。 Abonne 是主键,两个是索引。

如果在我的数据库中有例如:

 abonne  | rubriq  
84 | 61
84 | 62
84 | 63

当我运行 3 个查询时,第一个没有问题,但第二个出现错误:#1062 - Duplicate entry '84-77' for key 1

我该怎么做才能运行这 3 个查询,但是,当出现这样的错误时,只需删除该行?

谢谢!

最佳答案

您必须手动删除会导致冲突的记录:

UPDATE `table` SET rubriq = 77 WHERE rubriq = 61;

DELETE t62
FROM `table` t77
JOIN `table` t62 USING (abonne)
WHERE t77.rubriq = 77
AND t62.rubriq = 62;

UPDATE `table` SET rubriq = 77 WHERE rubriq = 62;

DELETE t63
FROM `table` t77
JOIN `table` t63 USING (abonne)
WHERE t77.rubriq = 77
AND t63.rubriq = 63;

UPDATE `table` SET rubriq = 77 WHERE rubriq = 63;

关于mysql - SQL UPDATE 或 DELETE 如果重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32452784/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com