相关疑难解决方法(0)

如何在PostgreSQL中使用RETURNING和ON CONFLICT?

我在PostgreSQL 9.5中有以下UPSERT:

INSERT INTO chats ("user", "contact", "name") 
           VALUES ($1, $2, $3), 
                  ($2, $1, NULL) 
ON CONFLICT("user", "contact") DO NOTHING
RETURNING id;
Run Code Online (Sandbox Code Playgroud)

如果没有冲突,则返回如下内容:

----------
    | id |
----------
  1 | 50 |
----------
  2 | 51 |
----------
Run Code Online (Sandbox Code Playgroud)

但如果存在冲突,则不会返回任何行:

----------
    | id |
----------
Run Code Online (Sandbox Code Playgroud)

id如果没有冲突,我想返回新列,或者返回id冲突列的现有列.
可以这样做吗?如果是这样,怎么样?

sql postgresql upsert sql-returning

127
推荐指数
7
解决办法
4万
查看次数

在postgresql中'copy from'期间忽略重复键

我必须将大量数据从文件转储到表PostgreSQL.我知道它不支持'忽略''替换'等在MySql中完成.几乎所有与网络相关的帖子都提出了相同的建议,例如将数据转储到临时表,然后执行"插入...选择......不存在......".

在一种情况下,这将无济于事,其中文件数据本身包含重复的主键.任何机构都知道如何在PostgreSQL中处理这个问题?

PS我是从java程序做的,如果有帮助的话

sql postgresql

50
推荐指数
3
解决办法
3万
查看次数

标签 统计

postgresql ×2

sql ×2

sql-returning ×1

upsert ×1