Suponha que temos a seguinte tabela:
CREATE TABLE names(
id SERIAL NOT NULL,
CONSTRAINT names__pk PRIMARY KEY(id),
name TEXT NOT NULL,
CONSTRAINT names__name__unq UNIQUE(name)
);
INSERT INTO names(name)
VALUES('apple')
ON CONFLICT(name) DO NOTHING
RETURNING id;
Quando uma linha não existe, RETURNING
a cláusula funciona, mas se já existir uma linha, a consulta não retorna nada. Existe uma maneira de modificar a consulta para que ela sempre retorne o campo id
?