我试图让 mysql 自己完成这项工作,我正在使用 Navicat Enterprise,我的新问题是我是否想创建一个特定列来在每次执行命令时进行更改。 示例:
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
最佳答案
如何进行增量值:
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
关于mysql - 在 MySQL 查询中创建计数器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18611944/