工作纪实_12-Mysql删除重复数据

删除一张表的脏数据,比如sys_user表重复的account字段

解决方案

1.克隆/复制表删除重复行

查询出一批记录组成新的表,再去删除旧的表

INSERT INTO sys_user_bk(account,email) SELECT account,email FROM sys_user  GROUP BY account

2.delete join语法

# 仅保留 sys_user表id大的重复account字段的记录,删除其他重复记录
DELETE t1 
FROM
	sys_user t1
	INNER JOIN sys_user t2 
WHERE
	t1.id > t2.id 
	AND t1.account = t2.account

你可能感兴趣的:(工作纪实)