在MySQL查询中制作计数器

时间:2013-09-04 10:57:48

标签: mysql loops

我试图让mysql自己完成这项工作,我正在使用Navicat Enterprise,我的新问题是,如果我想在每次执行命令时改变SPECIFIC列。 实施例:

    INSERT INTO RESULT ()
VALUES
    (
        '1-10218',
        'FIRST',
        '1-10220', /* I WANT THIS TO ACT AS A VARIABLE, SO IT CHANGES 1 AT A TIME [INCREMENTAL] */
        'SECOND'
    )
我可以用@NUM += 1之类的东西吗??? 请注意,我没有将其编程为任何内容,因此安全性或最佳实践不符合我的利益,我只是希望它一次更改一个值。 我想要的输出就像这样:

1-10218   FIRST   1-10220   SECOND
1-10218   FIRST   1-10221   SECOND
1-10218   FIRST   1-10222   SECOND
1-10218   FIRST   1-10223   SECOND
1-10218   FIRST   1-10224   SECOND
1-10218   FIRST   1-10225   SECOND

1 个答案:

答案 0 :(得分:0)

如何进行增量值:

 SELECT  s.*, 
         @i:=@i+1 AS increnatal
 FROM table_source AS s,
        (SELECT @i:=0) AS inc

我输入后显示的确切插入。

INSERT INTO RESULT (COLUMNS) 
SELECT  '1-10218', 'FIRST', CONCAT('1-', @i:=@i+1), 'SECOND'
FROM table_source AS s,
    (SELECT @i:=10219) AS inc