gpt4 book ai didi

MySQL 更新递增(非自动递增)列值

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

我有一个包含 4 列的表格,其中一列称为“顺序”。 “Order”不是自动递增的,而是另一列“mapping_id”是自动递增的。其他列包括“quiz_id”和“question_id”。

Image of Table Structure

我想将“order”的所有值更改为与 question_id 字段相同的升序。我的应用程序仅根据此“顺序”列进行排序,因此我可以重新排序的唯一方法是编辑此列中的值。

我想知道的是如何编写更新查询来更改“order”的所有值以按升序排列。我想将“order”的值与“question_id”的值匹配,但question_id从2开始而不是1,而“order”必须从1开始。感谢您提供的任何帮助!

最佳答案

类似下面的内容可能会满足您的需求。它将根据 question_id 顺序为 order 分配增量值:

select @ordval := 0;
update thetable set `order` =
(select @ordval := @ordval + 1) order by question_id;

关于MySQL 更新递增(非自动递增)列值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19459643/

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