delimiter $$
CREATE TABLE `devices_all` (
`device_all_id` int(11) NOT NULL AUTO_INCREMENT,
`device_id` varchar(512) DEFAULT NULL,
`device_token` varchar(512) DEFAULT NULL,
`client_agent` varchar(512) DEFAULT NULL,
`create_time` datetime DEFAULT NULL,
PRIMARY KEY (`device_all_id`)
) ENGINE=MyISAM AUTO_INCREMENT=49 DEFAULT CHARSET=latin1$$
表名devices_all,判重列device_id。
delete from devices_all
where device_id in (select device_id from (select device_id from devices_all a group by a.device_id having count(a.device_id) > 1) as a)
and device_all_id not in (select device_all_id from (select min( device_all_id) device_all_id from devices_all group by device_id having count( device_id)>1) as b)
本文介绍了一种使用SQL语句来删除MySQL数据库中devices_all表的重复记录的方法。通过选取device_id作为判重依据,确保每条记录的唯一性。该方案适用于需要维护设备信息唯一性的场景。
519

被折叠的 条评论
为什么被折叠?



