mysql – Sql语法插入每千分之一正整数,从1开始直到100万?

我有下表:

CREATE TABLE dummy (
  thousand INT(10) UNSIGNED,UNIQUE(thousand)
);

是否有sql语法我可以用来插入每千分之一正整数,从1开始直到100万?我可以在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开始.然后,加入系统中可能有1000(或更多)记录的任何表来生成一行.即使没有从这样的表中获得任何实际的列,我们只需要它来记录位置.然后@sqlvar从1开始,并在名为thousand的列中返回.然后,立即为它添加1000以用于“AnyTable …”中的下一条记录

dawei

【声明】:淮南站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。