使用单个 PostgreSQL 查询批量更新多行
使用 Go 更新 PostgreSQL 数据库中的多行可以通过单个 SQL 高效实现陈述。这种方法提供了一种一次性更新多条记录的便捷方法,减少了所需的查询数量并提高了性能。
为了执行批量更新,我们可以利用派生表,它是在查询的范围。这允许我们指定要更新的行的值。操作方法如下:
UPDATE t SET column_a = v.column_a, column_b = v.column_b FROM (VALUES (1, 'FINISH', 1234), (2, 'UNFINISH', 3124) ) v(id, column_a, column_b) WHERE v.id = t.id;
在此示例中,我们创建一个名为 v 的派生表,其中包含三列:id、column_a 和 column_b。我们提供两行的值,它们代表我们想要进行的更新。 WHERE 子句将派生表的 id 列与我们正在更新的表 (t) 的 id 列进行匹配。
这种方法可以轻松添加要更新的其他行,只需将更多行添加到派生表。与编写多个单独的更新语句相比,这更不容易出错。
以上是如何使用单个查询高效地批量更新 PostgreSQL 中的多行?的详细内容。更多信息请关注PHP中文网其他相关文章!