gpt4 book ai didi

mysql - 重新分配排序表中的 ID 号

转载 作者:行者123 更新时间:2023-11-29 21:06:07 25 4
gpt4 key购买 nike

我正在寻找问题的解决方案。

我需要按照该表的排序顺序重新分配 id。

为了更清楚,这里是表格的外观:

|编号 |名称 |新_id |

| 1 | C | 1 |

| 2 |一个 | 2 |

| 3 |乙| 3 |

Now we sort it by name in ASC mode:

|编号 |名称 |新_id |

| 2 |一个 | 2 |

| 3 |乙| 3 |

| 1 | C | 1 |

Now we reassign id's in that order:

|编号 |名称 |新_id |

| 1 |一个 | 2 |

| 2 |乙| 3 |

| 3 | C | 1 |

我使用这个代码:

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 。如何做到这一点。

最佳答案

您可以使用更新来执行此操作:

set @rn := 0;
update t
set new_id = (@rn := @rn + 1)
order by name;

您实际上并不需要使用new_id。如果您想重新设置id,只需设置它即可。

关于mysql - 重新分配排序表中的 ID 号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36812927/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com