如何以以下方式将值插入表(MySQL): 在表的所有行上,按ID列(PK)的顺序,在“ num”列中插入递增数字? 例如,如果表有3行,其ID为1,5,2,我希望ID 1获得num = 1,ID 2获得num = 2,ID 5获得num = 3。
编辑 我将解释为什么(我认为)需要这样做: 我试图将表中的列拆分为具有1对1关系的单独表。我以为我可以按ID的顺序获取所有值,然后将它们插入具有自动递增PK的新表中。那么我知道,按照ID的顺序,原始表中新引用列的值将是自动递增的数字。因此,我想按此顺序插入它们。我希望这是清楚的。
我找到了答案。这很简单:
SET @c=0; UPDATE myTable SET num = (@c:=@c+1) ORDER BY id