$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') ");
}
尝试在数据库中没有任何内容时插入并在可用时更新,但除了这部分代码之外,我的其他代码正在执行。怎么了?
最佳答案
您应该使用 insert 来执行此操作。 。 。无论如何,重复 key 更新
。首先,创建唯一索引:
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
,因为您的插入内容无论如何都不会插入该值。
关于php - mysql 如果其他什么都不做,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34696058/