我正在尝试将一行插入到表中,如果插入成功,我将返回新插入的行。如果插入失败,我将使用我已经知道在该行上的一些值来选择一行。
例如,表“reports”有3列,到目前为止我有以下内容:
INSERT INTO reports (col2, col3) VALUES ($1, $2)
ON CONFLICT ON CONSTRAINT custom_index DO
SELECT * FROM reports WHERE col1=$1 AND col2=$2;对于那些想问的人,custom_index是使用以下方法创建的:
CREATE UNIQUE INDEX custom_index ON reports (col2) INCLUDE (col3);当前我遇到的错误是
在"SELECT“处或附近出现语法错误
发布于 2019-07-15 05:20:08
冲突中不允许选择。
查看文档https://www.postgresql.org/docs/current/sql-insert.html。
有关的问题已经回答了。Postgres 9.5 ON CONFLICT DO SELECT
https://stackoverflow.com/questions/57033073
复制相似问题