pio*_*rek 3 sql postgresql upsert
用于插入的 Postgres 10 和 11 规范说:
ON CONFLICT [冲突目标] 冲突动作
我有一张桌子:
create table c (
e text not null,
m text not null,
v numeric not null,
PRIMARY KEY (e, m)
)
Run Code Online (Sandbox Code Playgroud)
我想做
insert into candle values (...)
on conflict do update set
v = 5
Run Code Online (Sandbox Code Playgroud)
但我收到一个错误:
ON CONFLICT DO UPDATE 需要推理规范或约束名称 提示:例如,ON CONFLICT (column_name)
为什么我必须提供一个冲突的目标?如何提供主键或其他一些列集?
您可能有多个约束,因此有多个替代操作。
您可以简单地指定列名称:
insert into candle values (...)
on conflict (e,m) do update set
v = 5
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2494 次 |
| 最近记录: |