【问题标题】:Postgres in Node INSERT ON CONFLICT UPDATE节点中的 Postgres 在冲突更新时插入
【发布时间】:2020-02-10 17:27:07
【问题描述】:

我想做一个插入更新节点冲突到 postgres 数据库。 为此,我正在使用 pg 节点库。我有以下查询对象:

const query = {
        text: 'INSERT INTO table(id, x, y) VALUES($1, $2, $3) ON CONFLICT (id) DO UPDATE SET x = ($2), y = ($3);',
        values: [1, 'x', 'y']
    };

client.query(query.....

然后我只做 client.query(query.....

但是不行,是不是sql语法有问题?

【问题讨论】:

    标签: node.js postgresql


    【解决方案1】:

    您可以使用伪表EXCLUDED 来访问DO UPDATE 子句中的值:

    INSERT INTO table(id, x, y) 
    VALUES($1, $2, $3) 
    ON CONFLICT (id) DO UPDATE SET x = EXCLUDED.x, y = EXCLUDED.y
    

    【讨论】:

    • 好主意,但效果不佳,您可能还有第二个主意吗?
    • 请详细说明不工作是什么意思。
    猜你喜欢
    • 2017-04-03
    • 2019-08-07
    • 1970-01-01
    • 2019-02-22
    • 1970-01-01
    • 2016-04-03
    • 2021-04-23
    • 2019-09-19
    • 2013-04-05
    相关资源
    最近更新 更多