mysql单表多条更新 php单表多条更新
//单表多条更新:测试sql:成功 (成功返回更新条数,失败返回0)
// $d->execute("UPDATE ez_shop_goods SET inventory = CASE id WHEN 3 THEN 1 WHEN 4 THEN 1 WHEN 5 THEN 100 END WHERE id IN (3,4,5)");
这句sql的意思是,更新inventory 字段,如果id=3 则display_order 的值为1,如果id=4 则 display_order 的值为1,如果id=5 则 display_order 的值为100。
转换成tp版:
$goods_ids是要更新的表的id数组
$value3 是id对应的inventory 字段的值的数组
一个id 对应一个inventory字段的值 $ids = implode(',', array_values($goods_ids));
$sql = "UPDATE ez_shop_goods SET inventory = CASE id ";
foreach ($value3 as $id => $ordinal) {
$sql .= ' WHEN '.$ordinal['id'].' THEN '.$ordinal['inventory'];
}
$sql .= " END WHERE id IN ($ids)";
// dump($sql);exit;
$res = $d->execute($sql);
if($res == 0){
$errcode = -1;
return false;
}
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号