我有下表:
CREATE TABLE dummy (
thousand INT(10) UNSIGNED,
UNIQUE(thousand)
);
我是否可以使用sql语法插入从1到1百万为止的每千个正整数?我可以用php来实现,但是我想知道如果不使用存储过程就可以做到这一点。
thousand
1
1001
2001
3001
4001
...
998001
999001
最佳答案
insert into dummy
( thousand )
select
PreQuery.thousand
from
( select
@sqlvar thousand,
@sqlvar := @sqlvar + 1000
from
AnyTableWithAtLeast1000Records,
( select @sqlvar := 1 ) sqlvars
limit 1000 ) PreQuery
您可以从select语句中插入。使用MySQL变量,从1开始。然后,连接到系统中的ANY表,该表可能有1000条(或更多)记录,仅用于生成一行。即使没有从这样的表中获取任何实际的列,我们也只需要它作为记录位置。然后@sqlvar从1开始,并在名为000的列中返回。然后,立即将其添加为1000,以获取“AnyTable ...”中的下一条记录
关于mysql - SQL语法插入从1到1百万为止的每千个正整数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13557893/