我正在尝试学习postgresql的upsert语法,但我不断收到此错误:
ERROR: syntax error at or near "name"
LINE 5: SET name = EXCLUDED.name;
这是sql语句:
INSERT INTO users (name, fav_num)
VALUES ('bob', 2)
ON CONFLICT (id) DO UPDATE
SET fav_num = EXCLUDED.fav_num,
SET name = EXCLUDED.name;
我尝试将exclude.fav_num和exclude.name更改为值,但是仍然遇到相同的错误。我正在运行PostgreSQL 10.6。正确的查询应该是什么?
表格:
|------|------|---------|
| id | name | fav_num |
|------|------|---------|
| 1 | bob | 1 |
|------|------|---------|
答案 0 :(得分:3)
SET
如下:
SET fav_num = EXCLUDED.fav_num, name = EXCLUDED.name
请注意一个,只有一个SET
。