使用多个标准在单个查询中更新MySQL批量查询

时间:2012-09-10 12:20:15

标签: php mysql sql-update bulk

这似乎是许多人的常见问题,但我还没有找到有帮助的解决方案。

我已经能够找到只需要一个查询的批量插入查询,但是对于更新,查询的结构有点不同。

是否可以创建适用于许多不同行的更新查询。

我已经能够创建一个运行正确次数的查询并正确更新行但它会多次运行。

这会产生大量的查询,众所周知,这些查询可以进行大量处理。

以下是我发现的批量插入查询:

$sql = array();  
foreach( $data as $row ) {     
    $sql[] = '("'.mysql_real_escape_string($row['text']).'", '.$row['category_id'].')'; 
    } 
mysql_query('INSERT INTO table (text, category) VALUES '.implode(',', $sql)); 

1 个答案:

答案 0 :(得分:1)

您无法使用更新查询执行此操作。每次更新都需要进行一次查询。

除非您想根据以下字段进行更新: UPDATE TABLE SET field_1=1 WHERE field_2=2