如何在MySQL中使用更新进行循环查询

时间:2018-12-14 14:23:41

标签: mysql

我想在Mysql中创建更新查询循环。但是我仍然没有找到进行查询的最佳方法。

我要进行的查询与此类似。

SET  @num := 0;
UPDATE my_table a SET a.numbering = @num := (@num+1) where a.year = 2020 and a.id_unit = 1;
SET  @num := 0;
UPDATE my_table a SET a.numbering = @num := (@num+1) where a.year = 2020 and a.id_unit = 2;
SET  @num := 0;
UPDATE my_table a SET a.numbering = @num := (@num+1) where a.year = 2020 and a.id_unit = 3;
SET  @num := 0;
UPDATE my_table a SET a.numbering = @num := (@num+1) where a.year = 2020 and a.id_unit = 4;
SET  @num := 0;
UPDATE my_table a SET a.numbering = @num := (@num+1) where a.year = 2020 and a.id_unit = 5;

但是我想用Loop做到这一点。

SET @x = 0;

SET @num := 0;
WHILE
    ( @x < 40 ) DO
    UPDATE my_table a 
    SET a.numbering = @num := ( @num + 1 ) 
WHERE
    a.year = 2020 
    AND a.id_unit = @x := ( @x + 1 );

END WHILE;

0 个答案:

没有答案