如何在MYSQL中删除重复记录并随机保留一条记录?
问问题
428 次
1 回答
6
用于ALTER TABLE
添加唯一索引,并指定IGNORE
选项使其不会出错:
ALTER IGNORE TABLE mytable
ADD UNIQUE INDEX (products_id, categories_id);
更新:
要使选择是随机的,请创建一个与旧表具有相同架构的新表,但在这些列上具有唯一键。然后做:
INSERT IGNORE INTO newtable
SELECT * from oldtable
ORDER BY RANDOM();
随机排序中每个重复项中的第一个将被插入到新表中,其余的将因为 IGNORE 选项而被忽略。
于 2012-10-20T08:17:12.157 回答