我想在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;