我的数据库中有两个表
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的新手
答案 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分钟后自动运行此查询