博客列表 >mysql单字段多值修改

mysql单字段多值修改

黄健的博客
黄健的博客原创
2019年06月25日 17:07:28933浏览

在后台的curl中经常遇到 单字段多值修改,比如 排序,批量 修改名字 等。

    需要一个 key为id的数组,这个很简单,在循环的时候 name[ $id ],这样接收到就是id为key的数组了。

    这时就要拼接sql语句了。加入数组为 $data


    $ids = implode(',', array_keys($data)); //得到id字符串

    $sql="UPDATE `tableName` SET `tableField` = CASE id "  

  foreach( $data as $id => $v ){  

      $sql .= sprintf("WHEN %d THEN %s ", $id, "'{$v}'");

}

    $sql .= "END WHERE id IN ($ids)";

    这样sql语句就拼接好了。


这是一个举例的sql。

UPDATE `type` SET title = CASE id WHEN 1 THEN '发动机' WHEN 2 THEN '底盘' WHEN 3 THEN '电器及设备' WHEN 4 THEN '车用仪表' WHEN 5 THEN '灯饰' WHEN 6 THEN '空调系' WHEN 7 THEN '润滑油' WHEN 8 THEN '易损易耗品' WHEN 9 THEN '养护品' WHEN 10 THEN '维修工具设备' WHEN 11 THEN '增值服务' END WHERE id IN (1,2,3,4,5,6,7,8,9,10,11)

    


声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议