gpt4 book ai didi

php - 用 PHP 更新 mysql 行的最佳策略?

转载 作者:可可西里 更新时间:2023-11-01 08:21:00 26 4
gpt4 key购买 nike

假设我有 5 行,包含 idcatnameorder 字段:

+----+----------+-----+  
| id | catname |order|
+----+----------+-----+
| 1 | cat1 | 2 |
| 2 | cat2 | 1 |
| 3 | cat3 | 3 |
| 4 | cat4 | 5 |
| 5 | cat5 | 4 |
+----+----------+-----+

我想更新数组中这 5 个类别的顺序,例如:

array(1 => 3, 2 => 4, 3 => 5, 4 => 1, 5 => 2)

最佳做法是什么?要选择每一行并使用数组中相应的顺序更新订单字段?或者创建一个包含所有这些类别的顺序数组的新表,并使用它来排序和链接两个表,并使用例如 userid 的连接语句?

最佳答案

如果您想在一个查询中执行此操作,您可以按如下方式生成 SQL 查询(假设键是现有的 order 值):

$orders = array(
1 => 3,
2 => 4,
3 => 5,
4 => 1,
5 => 2,
);

$sql = 'UPDATE category SET order = CASE order ';

foreach ($orders as $old => $new) {
$sql .= "WHEN $old THEN $new ";
}

$sql .= 'END';

如果键是 id 条目,请使用 CASE id 而不是 CASE order

关于php - 用 PHP 更新 mysql 行的最佳策略?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10410441/

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