php中如何实现B表没有A表aid=3的数据就插入,有则更新部分字段

A表Aid shop name time 1 a a1 aa1 2 b b2 bb2 3 c c2 cc2B表Bid Aid name 1 1 a1 2 2 b2
2025-03-24 01:26:17
推荐回答(2个)
回答1:

$sql = "select * from b where aid = 3";
$query = mysql_query($sql);
$row = mysql_fetch_row($query);
if(count($row)>1){
$sql = "update .....";

}else{
$sql = "insert .....";

}

或者直接写sql
insert into b(bid,aid,name) values(3,3,'xxxx') on DUPLICATE KEY UPDATE bid=3,.....

DUPLICATE KEY效率很低 一般我不用

回答2:

$sql = "select * from b where aid = 3";
$query = mysql_query($sql);
$row = mysql_fetch_row($query);
if(count($row)!=0){
$sql = "update B set `name` = ".$row[0]['name']."where Aid = 3";
mysql_query($sql);
}else{
$sql = "insert into B values('3',".$row[0]['Aid'].",".$row[0]['name'].")";
mysql_query($sql);

相关函数可参阅

http://www.w3cschool.cn/php_ref_mysql.html