Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在PostgreSQL中对多个冲突执行相同的操作?_Sql_Postgresql - Fatal编程技术网

如何在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 ....
但这给了我语法错误。 我还尝试了(冲突(用户名)或冲突(客户、昵称)) 但这也会返回一个语法错误

因此,我希望不同的冲突执行相同的操作。

请阅读此内容