Как исправить синтаксическую ошибку в postgresql UPSERT? - PullRequest
0 голосов
/ 18 января 2019

Я пытаюсь изучить синтаксис 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;

Я пытался изменить значения exc.fav_num и exclude.name на значения, но я все еще сталкиваюсь с той же ошибкой. Я использую PostgreSQL 10.6. Каким должен быть правильный запрос?

Таблица:

|------|------|---------|
|  id  | name | fav_num |
|------|------|---------|
|  1   | bob  |    1    |
|------|------|---------|

1 Ответ

0 голосов
/ 18 января 2019

Это SET как в:

SET fav_num = EXCLUDED.fav_num, name = EXCLUDED.name

Примечание один и только один SET.

...