gpt4 book ai didi

mysql - 如何将mysql数据库中的重复行更改为唯一值

转载 作者:行者123 更新时间:2023-11-29 13:56:43 27 4
gpt4 key购买 nike

我有一个大约有 1M 条记录的数据库表。我需要找到该表中所有重复的名称并使其唯一。

ID 名称

1个2A3乙4C5℃应更改为...

ID 名称

1个2 A-13乙4C5C-1有没有一种有效的方法可以通过 mysql 查询或过程来做到这一点?

提前致谢!

最佳答案

我需要做一些类似于我正在处理的表的事情。我需要一个唯一的 URL 字段,但以前的数据保管者没有保留这些约束。关键是创建一个临时表。

我在这里使用此回复来提供帮助:MySQL Error 1093 - Can't specify target table for update in FROM clause

请注意,它的性能不佳,但如果您只需要在数据库上运行一次它来​​清理表,那么它应该不会那么糟糕。

UPDATE `new_article` `upd`
SET `upd`.`url` = CONCAT(`upd`.`url`, '-', `upd`.`id`)
WHERE `upd`.`url` IN(
SELECT `url` FROM (
SELECT `sel`.`url` FROM `new_article` `sel`
GROUP BY `sel`.`url` HAVING count(`sel`.`id`) > 1
) as `temp_table`
);

关于mysql - 如何将mysql数据库中的重复行更改为唯一值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15742356/

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