mysql旧表去重数据导入新表且赋予主键id新值

2015-07-24 11:53:44 · 作者: · 浏览: 4

业务需求:
A表有id,n1,n2,n3字段,为新建空表,

B表有id,n1,n2,n3,n4,n5等字段,为含有数据的旧表,

现将B表中的n1,n2,n3组合的记录去重后导入A表中,并且A表主键也要录入值

方案:将B表的记录查询后去重,同时对查记录结果编排序号,将序号作为待插入A表的id值,sql语句如下:

INSERT INTO A表(id,n1,n2,n3) 
select @row :=@row+1 AS id,t1.* from 
(
SELECT DISTINCT n1,n2,n3 FROM B表
) t1,(select @row :=0) as t2