【发布时间】:2021-03-26 05:38:23
【问题描述】:
我有 2 个表名为 test 和 test_snapshop。在测试表中我正在保存当前数据,在 test_snapshot 中我正在保存旧数据。现在我需要对一些 id 值进行更新。有可能一些 id 存在于测试中,而另一些存在于快照表中。
我试过这样
update test
set column1=value,
column2=value,
column3=value
where column4 in(1,2,3)
union
update test_snapshot
set column1=value,
column2=value,
column3=value
where column4 in(1,2,3)
两个表的列号和名称相同。
上述查询与预期不符。我在这个查询中做错了什么。任何人都可以帮助我。
我是 postgresql 新手。
【问题讨论】:
-
只需运行两次更新。 UPDATE 不支持 UNION,这里也不需要。
-
与您的问题无关,但是:Postgres 9.2 是no longer supported,您应该尽快计划升级。
-
我投票结束是一个错字。
union是一个错字。只需运行两个单独的语句。
标签: sql postgresql postgresql-9.2