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})";
}
<?>