从特定值开始重置mysql表的所有行的主键

时间:2018-02-27 14:46:51

标签: mysql

Hello是否有一个mysql命令循环遍历表的所有行并重置从特定值开始的主键,例如从5000以上? 我不只是想重置下一个输入的主键,而是更新所有现有行。

这不是我需要的:

ALTER TABLE t1 AUTO_INCREMENT = 1;

1 个答案:

答案 0 :(得分:0)

您可以使用变量并在设置每行中的值后更新它。 (例如:假设您的列名称为id):

SET @startVal=5000 - 1; # we will increment startVal in every loop so we subtract 1 to begin with
UPDATE t1 SET id=(@startVal:=@startVal+1);