Rumah >php教程 >php手册 >mysql单表多条更新

mysql单表多条更新

WBOY
WBOYasal
2016-08-26 10:12:461512semak imbas

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)); <br>             $sql = "UPDATE ez_shop_goods SET inventory = CASE id "; <br>             foreach ($value3 as $id => $ordinal) { <br>                 $sql .= ' WHEN '.$ordinal['id'].' THEN '.$ordinal['inventory']; <br>             } <br>             $sql .= " END WHERE id IN ($ids)"; <br>             // dump($sql);exit;<br>             $res = $d->execute($sql);<br>             if($res == 0){<br>                 $errcode = -1;<br>                 return false;                <br>             }

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:在php中使用语言包,Artikel seterusnya:返回数组中指定的一列