gpt4 book ai didi

php - 使用一个查询更新多行

转载 作者:可可西里 更新时间:2023-11-01 07:12:52 25 4
gpt4 key购买 nike

如何一次更新数百行?

喜欢:UPDATE 表 SET a = ?其中 b = ? AND c = 1

但是对于很多行。 ? 参数是数组...

我读了this answer但它使用 CASE,我认为我做不到...


现在我有这样的东西:

foreach($values as $key => $value)
$res = $pdo->prepare('UPDATE table SET a = ? WHERE b = ? AND c = 1');
$res->execute(array($value, $key));
}

最佳答案

要在单次查询运行中执行此操作,您需要使用 CASEassemble the parameters programmatically . SQL 不支持可变准备语句,只支持 simple values可以参数化。

或者,定义一个语句,一次只获取一行数据,并在循环中运行查询。重复执行是将准备好的语句设计用于此类情况的方式。

try {
$query = $db->prepare('UPDATE table SET a = ? WHERE b = ? AND c = 1');
foreach ($as as $i => $a) {
$query->execute(array($a, $bs[$i]));
}
} catch (PDOException $e) {
...
}

关于php - 使用一个查询更新多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9403617/

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