既存の行に空のフィールドがある場合、行を挿入する代わりに既存の行とマージするにはどうすればよいですか?
ここに例があります。既存の行:
id    f1    f2    f3    f4    ...
0     a           b     
1     c                   
挿入する行:
id    f1    f2    f3    f4    ...
NULL        d  
必要な結果:
id    f1    f2    f3    f4    ...
0     a     d     b     
1     c 
このためにPHP関数を作成しました。この関数は、SELECTS各フィールドの行を空にし、この行のデータを更新しますが、これは遅すぎます。このコードを改善してスピードアップする方法はありますか?
foreach($cond as $cond_name = > $cond_value) {
    if ($cond_value != '') {
        $cond_count++;
        $q = 'SELECT `id` FROM `g_ul_cond_orders` WHERE `ul_id`='.$ul_id.' AND `'.$cond_name.'`="" LIMIT 1;';
        $r = mysql_query($q);
        if ($r) {
            if ($row = mysql_fetch_assoc($r)) {
                $q = 'UPDATE `g_ul_cond_orders` SET `'.$cond_name.'`="'.$cond_value.'" WHERE `id`='.$row['id'].';';
                $r = mysql_query($q);
                if ($r) {
                    $cond[$cond_name] = '';
                    $cond_count--;
                }
            }
        }
    }
}