MySQL,修改主键列

问题描述


number(pk)   name
    1         A 
    2         B  
    4         C
    5         D 
    8         E
   10         F
   12         G
   15         H
   20         I

我想像下面那样修改上表。


number(pk)  name
    1         A
    2         B
    3         C
    4         D
    5         E
    6         F
    7         G
    8         H
    9         I

为此,我在互联网上找到了以下代码

SET @CNT = 0;
UPDATE [table_name] SET [column_name] = @CNT:=@CNT+1;

这是我想要的,但是出现以下警告。

警告:1287在表达式中设置用户变量是 已过时,将在以后的版本中删除。考虑 替代方案:“ SET变量=表达式,...”或“ SELECT表达式” INTO变量”。

您能告诉我其他更好的方法还是避免警告的方法

解决方法

不建议使用,但是如果您确实要执行此操作,则可以导出表,将其删除并在没有主键列的情况下将其导入,该表会自动自动递增