Skip to content

PHP 生成批量更新数据sql ​

示例代码:

php
<?php
    private  function parseUpdate($data, $field,$table)
    {
        $sql = "  update   {$table}   set    ";
        $keys = array_keys(current($data));
        foreach ($keys as $column) {
            if($column == $field){
                continue;
            }
            $sql .= sprintf("`%s` = CASE `%s` \n", $column, $field);
            foreach ($data as $line) {
                $sql .= sprintf("WHEN '%s' THEN '%s' \n", $line[$field], $line[$column]);
            }
            $sql .= "END,";
        }
        $fanhui = implode(',',ArrayHelper::getColumn($data,'id'));
        return rtrim($sql, ',')."    where id  in ({$fanhui})";
    }
<?>

woodlc