Description
SQL statement
INSERT INTO currencies(id, name, to_rub)
VALUES (CAST(:id AS INT), :name, CAST(:to_rub AS NUMERIC))
ON CONFLICT(id) DO
UPDATE SET (name, to_rub) = (:name, CAST(:to_rub AS NUMERIC)) WHERE id = CAST(:id AS INT)
RETURNING
'redirect' AS component,
'currency_item_r.sql?id=' || id AS link;
throws an error
Failed to execute SQL statement:
INSERT INTO currencies (id, name, to_rub) VALUES (CAST(CAST(? AS TEXT) AS INT), CAST(? AS TEXT), CAST(CAST(? AS TEXT) AS NUMERIC)) ON CONFLICT(id) DO UPDATE SET name.to_rub = (CAST(? AS TEXT), CAST(CAST(? AS TEXT) AS NUMERIC)) WHERE id = CAST(CAST(? AS TEXT) AS INT) RETURNING 'redirect' AS component, 'currency_item_r.sql?id=' || id AS link;
line 1, character 165
error returned from database: (code: 1) near ".": syntax error (at statement byte offset 165)
(code: 1) near ".": syntax error (at statement byte offset 165)
Basically, the fragment
DO UPDATE SET (name, to_rub)
is transformed to
DO UPDATE SET name.to_rub