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

我在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;

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


----------

    | id |

----------

  1 | 50 |

----------

  2 | 51 |

----------

但是,如果有冲突,则不会返回任何行:


----------

    | id |

----------

id如果没有冲突,我想返回新的列,或者返回id冲突列的现有列。

能做到吗?如果是这样,怎么办?


牧羊人nacy
浏览 3026回答 3
3回答
打开App,查看更多内容
随时随地看视频慕课网APP