gpt4 book ai didi

php - 如何用mysql从尾到头重写行id

转载 作者:行者123 更新时间:2023-11-29 04:34:36 33 4
gpt4 key购买 nike

我需要把整张id表从head most反转成tail most。例如。我在一张表中有 10 行。我需要将第 10 位转换为第 1 位,将第 1 位转换为第 10 位 - 按日期时间排序。此外,结构和数据仍然存在。

我不知道怎么问这样的问题。对于那些在您看来我的问题看起来很愚蠢或尝试较少的人,我们深表歉意。

SRC 表

+----+------+-------------------+
| id | item | dtime |
+----+------+-------------------+
| 1 | J | 2017-10-10 10:10 |
+----+------+-------------------+
| 2 | I | 2017-10-10 10:09 |
+----+------+-------------------+
| 3 | H | 2017-10-10 10:08 |
+----+------+-------------------+
.
.
.
+----+------+-------------------+
| 10 | A | 2017-10-10 10:01 |
+----+------+-------------------+

预期

+----+------+-------------------+
| id | item | dtime |
+----+------+-------------------+
| 1 | A | 2017-10-10 10:01 |
+----+------+-------------------+
| 2 | B | 2017-10-10 10:02 |
+----+------+-------------------+
| 3 | C | 2017-10-10 10:03 |
+----+------+-------------------+
.
.
.
+----+------+-------------------+
| 10 | J | 2017-10-10 10:10 |
+----+------+-------------------+

最佳答案

如果我没理解错的话,您拥有的是一个导入数据表,其中导入不正确,无论出于何种原因,您都需要重新导入数据以生成新标识符。 (虽然你的用户输出真的不应该太依赖于标识符。听起来你在滥用系统标识符。)但是原始数据源已经消失,你需要从重新导入你的 table 。

虽然我仍然高度怀疑您可能实际上不需要这样做(尤其是如果其他数据已经依赖于已识别的记录),但>技术水平没有太多。

首先,创建一个与现有表具有相同结构的新表。然后,您可以将现有表中的一组选定数据插入到该新表中。像这样简单的东西:

INSERT INTO NewTable (item, dtime)
SELECT item, dtime FROM OldTable ORDER BY dtime

新表中的 AUTOINCREMENT 标识符将生成您的新 id 值。然后你可以删除旧表。

如有必要,将新表重命名为原始表的名称。

关于php - 如何用mysql从尾到头重写行id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46709593/

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