$sql3 = "SELECT * FROM `eventorder` WHERE `group1` ='$group' and `eventno`='$evno' and `gen`='$gen'";
$a = mysql_query($sql3);
$g = mysql_fetch_object($a);
if ($g) {
mysql_query("update `eventorder` set `ch_no`=concat(`ch_no`, ', $ch') where `group1` ='$group' and `eventno`='$evno' and `gen`='$gen'");
} else {
mysql_query("INSERT INTO `eventorder` (`group1`,`eventno`,`eventname`,` ch_no`) VALUES ('$group','$evno','$evname','$ch') ");
}
尝试在数据库中没有任何内容时插入并在可用时进行更新,但我的其他代码正在执行,但代码的这部分除外。怎么了?
答案 0 :(得分:0)
无论如何,您应该使用insert . . . on duplicate key update
执行此操作。首先,创建一个唯一的索引:
create unique index unq_eventorder_group1_eventno_gen on eventorder(group1, eventno, gen)
然后:
INSERT INTO `eventorder` (`group1`,`eventno`,`eventname`,` ch_no`)
VALUES ('$group', '$evno', '$evname', '$ch')
ON DUPLICATE KEY UPDATE
ch_no = CONCAT(ch_no, ', ', VALUES(ch_no));
我不确定副本是否应包含gen
,因为您的插入无论如何都不会插入该值。