动态地将行从一个表插入另一个表

时间:2014-07-26 05:53:11

标签: mysql

我的数据库中有两个表

create table A1 (username varchar(50), Sn int);
create table A2 (username varchar(50), Sn int);

我将数据插入表A2

insert into A2 values("abhi",1);
insert into A2 values("abhi",2);
insert into A2 values("abhi",3);
insert into A2 values("abhi",4);
insert into A2 values("abhi",5);
insert into A2 values("abhi",,6);

之后我必须将表A2中的数据插入A1,这样第一次插入行时将从1到3,第二次插入行将从4到6

请帮助我,我是Mysql的新手

2 个答案:

答案 0 :(得分:1)

尝试这样

insert into A1 select * from A2 where Sn >= 
(select (case when max(Sn) is null then 0 else max(Sn) end) +1 from A1) 
Limit 3;

答案 1 :(得分:0)

如果我在表格中有10万条记录,我怀疑这个查询是否会有所帮助。我认为在检查max时会降低性能。我正在使用事件调度程序,它将在每5分钟后自动运行此查询