我有这些Postgres SQL,它位于某个while
循环之间:
while (.......) {
...
$runStatement = 'update products set abc = "'.data[0].'" where abc = "'.data[1].'";';
...
}
while (.......) {
...
$runStatement = 'update products set xyz = "'.data[0].'" where xyz = "'.data[1].'";';
...
}
while (.......) {
...
$runStatement = 'update extra_products set abc = "'.data[0].'" where abc = "'.data[1].'";';
...
}
其中每个循环data
实际上是从同一个数组中读取的。
感谢。
答案 0 :(得分:0)
你不需要循环。您可以在更新中进行JOIN,第一个表是例如产品,第二个表是VALUES(旧的,新的),(旧的,新的)等的长列表。这允许在一个命令中更新许多行并且要快得多。
答案 1 :(得分:0)
将语句与它们之间的分号连接起来,并在对DB的一次调用中运行它们。