gpt4 book ai didi

mysql - 如何重新排序 MySQL 表中的记录/行

转载 作者:可可西里 更新时间:2023-11-01 06:49:51 26 4
gpt4 key购买 nike

我有一张表,它包含三列:IDNameParentID。让我们考虑一下这个结构:

ID |   Name   | ParentID
1 Root NULL
2 Parent #1 1
3 Parent #1 1
4 Parent #1 1
5 Parent #1 1
6 Child #1 2
7 Child #1 2
8 Child #1 3
9 Child #1 4
10 Child #1 5
11 Child #1 5

在用户对行重新排序后,客户端的 JavaScript 将发送一个数组,其中包含按 ID 排列的行的新顺序。例如,它可以是 [4, 10, 2, 3, 11, 1]

我应该使用什么查询才能更改 MySQL 表中行的顺序?我想得到这样的东西:

ID |   Name   | ParentID
1 Root NULL
9 Child #1 4
5 Parent #1 1
4 Parent #1 1
3 Parent #1 1
6 Child #1 2
7 Child #1 2
8 Child #1 3
2 Parent #1 1
10 Child #1 5
11 Child #1 5

最佳答案

在我看来,如果没有额外的列order

,您将无法做到这一点

为此,您必须创建一个新列 order

然后在传递数组时更新表。

foreach($passed_array as $order => $val){
$q = "Update table SET `order` = $order WHERE ID = $val";
// run query here
}

编辑

在前端显示数据时,select query会像

"SELECT * FROM table `Order` BY `order` ASC"

关于mysql - 如何重新排序 MySQL 表中的记录/行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29793749/

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