如何在PostgreSQL中对多个冲突执行相同的操作?
例如,如果我有一个表:如何在PostgreSQL中对多个冲突执行相同的操作?,sql,postgresql,Sql,Postgresql,例如,如果我有一个表: create table test( username varchar(50) PRIMARY KEY, customer varchar(12), nickname varchar(12) ); create unique index unique_customer_nickname on test(customer,nickname
create table test(
username varchar(50) PRIMARY KEY,
customer varchar(12),
nickname varchar(12)
);
create unique index unique_customer_nickname on test(customer,nickname);
因此用户名是唯一的,并且(客户、昵称)一起是唯一的
然后,如果我想写这样的upsert语句:
Insert into test(username,customer,nickname) values('utest','ctest','ntest')
on conflict(username) or on conflict(customer,nickname) DO UPDATE ....
但这给了我语法错误。
我还尝试了(冲突(用户名)或冲突(客户、昵称))
但这也会返回一个语法错误
因此,我希望不同的冲突执行相同的操作。请阅读此内容