gpt4 book ai didi

php - 更新一个字段,使订单值连续

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

在我的表中,有一个字段“ord”包含特定组的值的顺序。

tbl_test 字段为 Group,time,ord,name

示例条目

id       Group time                      ord          name
----------------------------------------------------------------
1 1 1340865990 1 john
2 1 1340865880 2 jos
3 1 1340867830 3 mery
4 1 1340867830 4 bill
5 1 1340867830 5 stiev
6 1 1340867830 6 tom
7 2 1340867830 1 test
8 3 1340867830 2 john

如果我从组 1 中删除一组值,例如我删除了“mery”和“tom”,则“ord”字段必须具有剩余项目的更新订单值,如下所示

id       Group time                      ord          name
----------------------------------------------------------------
1 1 1340865990 1 john
2 1 1340865880 2 jos
4 1 1340867830 3 bill
5 1 1340867830 4 stiev

被删除的项目可以是任意顺序的。要删除该项目,用户将提供 id 和组的列表。

如何在 mysql 中实现这个?

注意:

要在删除单个条目时更新订单,我使用以下查询:

SET @a = 3;
UPDATE tbl_test
SET ord = 5,time = 1337690755
WHERE Group = 1 AND id = 6;

最佳答案

如果订单与时间(或id)相关,这可能有效。

SET @order:=0;
UPDATE tbl_test
SET ord=@order:=@order+1
WHERE group=1
ORDER BY time, id

上面的答案借自:updating columns with a sequence number mysql

从以下位置找到的替代方法:Mysql Insert Order Number By VARCHAR Field

SET @order:=0;
UPDATE
SET ord=@order:=@order + 1
FROM tbl_test
ORDER BY time, id

如果没有未使用的 ord 列,重置 AUTO_INCRMENT id 也可能是一个选项。

关于php - 更新一个字段,使订单值连续,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11241162/

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