Mysql如何删除重复数据项目背景:在RocketMQ的消费者服务中,发现了重复消费的情况,为了处理,需先将消费者停止消费,去重消息ID重复的数据,再给消息ID设置唯一索引。
方法一:使用临时表
创建一个临时表,用于存储要保留的数据。
1CREATE TABLE consumer_crm_record_tmp LIKE consumer_crm_record;
将要保留的数据存储到临时表中
1234INSERT INTO consumer_crm_record_tmpSELECT MAX(id) AS id,message_id,message,responseFROM consumer_crm_recordGROUP BY message_id;
删除原表中的数据
1delete from consumer_crm_record
将临时表中的数据加入到原表中
123INSERT INTO consumer_crm_recordSELECT id,message_id,message,responseFROM consumer_crm_record_tmp;
...