gpt4 book ai didi

php - 如何使用单个查询更新多个数据?

转载 作者:太空宇宙 更新时间:2023-11-03 10:31:26 25 4
gpt4 key购买 nike

当 id_array 很大时,这个查询会花费很多时间来运行。我怎样才能让它更快?是否可以在一个查询中执行此操作而不是像我的示例中那样进行多次更新?

<?php
$sort = 1;
$id_array = array(
56,
14,
99,
54,
8,
92
);
foreach ($id_array as $id) {
mysqli_query($conn, "UPDATE id_table SET sort = '$sort' WHERE id = '$id'");
$sort++;
}
?>

最佳答案

传说在处理大型数据集时使用prepared statement 比其他类型的查询更快 - 这是否属实由您决定 - 但要使用 prepared statement你可以这样尝试:

$sql='update id_table set sort = ? where id = ?';
$stmt=$conn->prepare( $sql );
$stmt->bind_param( 'ii', $sort, $id );

foreach( $id_array as $index => $id ){
$sort=$index+1;
$stmt->execute();
}

关于php - 如何使用单个查询更新多个数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57369575/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com