mysql - 在 MySQL 查询中创建计数器

标签 mysql loops

我试图让 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/

相关文章:

php - Symfony 2 : SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry

java - 快速排序多线程

Javascript - 如何在 2 个数组之间循环?

MySQL 索引不工作(用例特定场景)

php - 如何在基于 SQL 语句的单个 Eloquent 模型中使用表和 View ?

c++ - 为什么添加空格会使编译器进入无限循环?

Java,将链表与数组进行比较

javascript - 为什么我的获取对象属性值的循环不起作用?

MySQL 触发器 - 5.7.23-0ubuntu0.16.04.1 - 奇怪的行为并非每次都有效

mysql - 使用 Laravel Eloquent 高级 WHERE 子句迭代数组的元素以执行查询