我正在尝试更新mysql中的行但是我必须使用for循环进行多次更新以获取多个值mysql查询是
update table set column1='100',column2='140,column3='150' where id =1
update table set column1='120',column2='145,column3='154' where id =2
update table set column1='141',column2='148,column3='155' where id =3
我使用for循环运行查询多次使用不同的id,我想运行单个查询来更新所有行,但不使用大小写,这可能吗?
答案 0 :(得分:1)
您可以使用循环生成动态查询。 请看一看。 这可能对您有所帮助。
$data[] = array("column1"=>100, "column2"=>140, "column3"=>150, "id"=>1 );
$data[] = array("column1"=>120, "column2"=>145, "column3"=>154, "id"=>2 );
$data[] = array("column1"=>142, "column2"=>148, "column3"=>155, "id"=>3 );
foreach($data as $dat){
$query = "UPDATE table SET column1=".$dat['column1'].", column2=".$dat['column2'].", column3=".$da['column2']." WHERE id=".$dat['id'];
echo $query;
}
答案 1 :(得分:0)
如果要更新所有ID,为什么要放WHERE子句?如果您不想更新所有ID,则必须在for循环中进行更新。
UPDATE tableName SET column1 = '100', column2 = '140', column3 = '150'
答案 2 :(得分:0)
您可以使用WHERE IN(...)。 例如:
update table set column1='100',column2='140,column3='150' where id IN (1,2,3)