我正在尝试在PostgreSQL 9.5.2中编写如下查询:
INSERT INTO a (id, x)
    SELECT id, x FROM b
ON CONFLICT (id) DO UPDATE
    SET x = b.x
    WHERE b.y < 100但我得到了ERROR: missing FROM-clause entry for table "b"。我一定遗漏了一些基本的东西,但是我如何引用要插入到UPDATE子句中的行呢?还是有别的办法?
发布于 2016-04-29 14:12:09
冲突的值可以通过excluded别名获得:
INSERT INTO a (id, x)
SELECT id, x 
FROM b
ON CONFLICT (id) DO UPDATE
    SET x = excluded.x;https://stackoverflow.com/questions/36930759
复制相似问题