我正在使用完全不同的架构将数据从一个表导入另一个表。我可以将数据从一列导入到另一列,但是有一个自动生成的列在插入新行时设置。代码只是在表上执行count()+ 100001,我试图在查询中复制但是我遇到了问题。
这是我的疑问:
insert into prospect(pid,pfirst,plast,paddress,pcity,pstate,pzip,eid,pdate,pnum,pprim)
select custid,cfirst,clast,street,city,state,zip,csrid,lastvisit,
(select count(pid)+100000 from prospect),celphone from customer limit 140000,1000;
pnum列(生成的列)应该是100000,100001,100002等,但它们都是100000.我认为这是因为我只做一个插入,所以count()为0整个过程。
我如何实现我的目标?
答案 0 :(得分:1)
试试这个:
select count(pid) into @auto from prospect;
insert into prospect(pid,pfirst,plast,paddress,pcity,pstate,pzip,eid,pdate,pnum,pprim)
select custid,cfirst,clast,street,city,state,zip,csrid,lastvisit,
@auto:=@auto+1,celphone from customer limit 140000,1000;
根据您在第一个选择语句中的需要更改 @auto 变量的值。