mysql select update 的问题

2025-01-01 06:12:41
推荐回答(3个)
回答1:

这个语句是可以运行的,但是只update了b.b1的第一个结果作为update条件,而b.b1是一个数组,有N个结果,这条语句是不能实现我要的效果的,

——就按照那位仁兄的方法,稍改一下:
$ids = implode(",", $display_order); //$display_order就是你放所有要改动的b1的数组

update a,b set a.a1=b.b1,a.a2=b.b2,a.a3=b.b3 where a.id=b.id and b.b1 IN($ids)

回答2:

SQL语句
update a,b set a.a1=b.b1,a.a2=b.b2,a.a3=b.b3 where a.id=b.id and b.b1=1

回答3:

function selectupdata($b,$where){
$sql1="select * from b where b1='".$b."'";
$re1=mysql_query($sql1);
$arr1=array();
while($tmp=mysql_fetch_assoc($re1)){
$arr1[]=$tmp;
}

foreach($arr1 as $k => $v){
$sql2="";
if(!empty($where)){
$sql2="updata a set a1={$v['b1']},a2={$v['b2']},a3={$v['b3']} where a.id={$v['id']} and".$where;
}else{
$sql2="updata a set a1={$v['b1']},a2={$v['b2']},a3={$v['b3']} where a.id={$v['id']}";
}
mysql_query($sql2);
}
}
?>