我正在寻找解决问题的方法。
我需要按照该表排序的顺序重新分配id。
这里要更清楚的是表格外观:
现在我们在ASC模式下按名称对其进行排序:
现在我们按顺序重新分配id:
我使用此代码:
set @row_num = 0; SELECT @row_num := @row_num + 1 as `row_number`,`id`,`name`,`new_id` FROM `test` ORDER BY `name`;
它添加新行row_number并添加数字以便我需要id。怎么做。
答案 0 :(得分:0)
您可以使用update
:
set @rn := 0;
update t
set new_id = (@rn := @rn + 1)
order by name;
您实际上不需要使用new_id
。如果您想重新设置id
,请改为设置。