【发布时间】:2020-09-16 21:41:11
【问题描述】:
我有 2 个名为 A、B 的表。
A-类型,通道1,通道2,通道3 其中类型是 PK。
B-id,type,channel2,channel3 其中id是Pk,类型是FK
现在我想将两列channel2和channel 3从表A复制到表B中。蟑螂不支持这个功能我该怎么办。
【问题讨论】:
标签: sql cockroachdb
我有 2 个名为 A、B 的表。
A-类型,通道1,通道2,通道3 其中类型是 PK。
B-id,type,channel2,channel3 其中id是Pk,类型是FK
现在我想将两列channel2和channel 3从表A复制到表B中。蟑螂不支持这个功能我该怎么办。
【问题讨论】:
标签: sql cockroachdb
说您要“复制”列是不明确的,对于 SQL 相关问题,您应该指定要插入或更新数据的位置,但我会尝试通过以下建议来区分差异:
UPSERT into b(type, channel2, channel3)
SELECT b.type, a.channel2, a.channel3
FROM b, a WHERE b.type=a.type;
请注意,如果您有很多行,cockroach 希望您通过在 where 子句中添加范围条件将其拆分为多个更新。
【讨论】: