Php 如何使用mysql执行多个更新查询
我试图一次执行多个更新查询。请查看下面提到的代码 实际代码块:Php 如何使用mysql执行多个更新查询,php,mysql,phpmyadmin,Php,Mysql,Phpmyadmin,我试图一次执行多个更新查询。请查看下面提到的代码 实际代码块: $relist_item_id = $_REQUEST['relist_item_id']; // an array $relist_item_num = count($relist_item_id); for($j = 0; $j < $relist_item_num; $j++){ $item_id = $relist_item_id[$j]; $update_query = "UPDATE items
$relist_item_id = $_REQUEST['relist_item_id']; // an array
$relist_item_num = count($relist_item_id);
for($j = 0; $j < $relist_item_num; $j++){
$item_id = $relist_item_id[$j];
$update_query = "UPDATE items SET ActiveItem=1 WHERE id=$item_id";
mysql_query($update_query);
}
我还想知道,查询是否有任何限制,比如我们一次最多可以执行20个查询
我的实际目标是节省执行时间,因为可能会有一个巨大的for循环,逐个执行每个查询可能需要很多时间。我的上述方法可能不正确。但是,你的想法可以帮助我做到这一点
提前感谢。为什么不在中使用如下功能:
$relist_item_id = $_REQUEST['relist_item_id']; // an array
$query="UPDATE items
SET ActiveItem=1 WHERE id in (".implode(', ', $relist_item_id).")";
假设这些值是数值,不需要用单引号括起来。
如果是,这应该是可行的:
$query="UPDATE items
SET ActiveItem=1 WHERE id in ('".implode("', '", $relist_item_id)."')";
为什么不在中使用如下功能:
$relist_item_id = $_REQUEST['relist_item_id']; // an array
$query="UPDATE items
SET ActiveItem=1 WHERE id in (".implode(', ', $relist_item_id).")";
假设这些值是数值,不需要用单引号括起来。
如果是,这应该是可行的:
$query="UPDATE items
SET ActiveItem=1 WHERE id in ('".implode("', '", $relist_item_id)."')";
您可以尝试在中使用:
ids = array(1,2,3....);
$update_query .= "UPDATE items SET ActiveItem=1 WHERE id IN (".implode(',', $ids).")";
您可以尝试在中使用:
ids = array(1,2,3....);
$update_query .= "UPDATE items SET ActiveItem=1 WHERE id IN (".implode(',', $ids).")";
您需要多个查询,一次只能执行一条语句。您可以在查询中使用
IN
,例如updateitems SET ActiveItem=1,其中id IN($items\u id\u comma\u separated)
在数据库级别上,它是逐个执行的。所以,没有必要做你想做的事。你什么也得不到。看看准备好的语句,我相信mysql支持这一点,或者如果你不需要迭代-Alexander击中它的头部。你需要多个查询,你一次只能执行一条语句。你可以在查询中使用IN
,比如更新项目集ActiveItem=1,其中id IN($items\u id\u逗号\u分隔)
在数据库级别上,它是一个接一个地执行的。因此,没有必要做你想做的事情。你不会得到任何东西。看看准备好的语句,我相信mysql支持这一点,或者如果你不需要迭代-Alexander击中了它的头部。这个答案也是正确的,我想选择正确的一个。但因为我只能在e答案作为正确答案,我认为第一个答案更能说明问题。但是,我把这个答案标记为“有用”也是。我不赞成使用第一项,它提倡在数据库查询中直接使用用户输入。这将是非常不安全的。这个答案也是正确的,我希望选择正确的答案。但是,由于我只能选择一个答案作为正确答案,我想使用第一项作为其描述。但是,我已经标记了这一点答案也是“有用的”。我不赞成使用第一项,它主张在数据库查询中直接使用用户输入。这将是非常不安全的。