需求:批量更新不重复的值,一条一条更新太慢了
function create_sql($display_order, $table_name)
{
$ids = implode(',', array_keys($display_order));
$sql = "UPDATE {$table_name} SET new_openid = CASE openid ";
foreach ($display_order as $id => $ordinal) {
$sql .="WHEN {$id} THEN '{$ordinal}' ";
}
$sql .= "END WHERE openid IN ($ids)";
return $sql;
}
拼装的sql,大致就是鸡贼点用when和then但是更新字段自己判断是否需添加引号;