gpt4 book ai didi

MySQL 在子查询中插入自动生成的列

转载 作者:行者123 更新时间:2023-11-29 00:36:57 24 4
gpt4 key购买 nike

我正在将数据从一个表导入到另一个具有完全不同架构的表。我可以将数据从一列导入到另一列,但有一个自动生成的列会在插入新行时设置。该代码只是在表上执行 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一路走来。

我将如何完成我想要的?

最佳答案

试试这个:

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;

在第一个 select 语句中根据需要更改 @auto 变量的值。

关于MySQL 在子查询中插入自动生成的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13807257/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com