如果现有行中有空字段,如何将一行与现有行合并而不是插入它?
这里举个例子。现有行:
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--;
}
}
}
}
}