如何在PostgreSQL中的多个冲突上做同样的事情?

时间:2017-06-02 12:41:37

标签: 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);

因此,用户名是唯一的,(客户,昵称)是唯一的。

然后如果我想写一个像这样的upsert语句:

Insert into test(username,customer,nickname) values('utest','ctest','ntest') 
on conflict(username) or on conflict(customer,nickname) DO UPDATE ....

但是这给了我语法错误。 我也试过on (conflict(username) or conflict(customer,nickname)) 但这也会返回语法错误。

所以我想要的是不同的冲突来执行同样的事情。

0 个答案:

没有答案