如何删除重复记录并在MYSQL中随机保留一条记录?
答案 0 :(得分: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选项而被忽略。