Obtener Id de un INSERT condicional
Para una mesa como esta:
CREATE TABLE Users(
id SERIAL PRIMARY KEY,
name TEXT UNIQUE
);
¿Cuál sería la inserción correcta de una consulta para la siguiente operación:
Dado un usuarioname
, inserte un nuevo registro y devuelva el nuevoid
. Pero si elname
ya existe, solo devuelva elid
.
Soy consciente de la nueva sintaxis dentro de PostgreSQL 9.5 paraON CONFLICT(column) DO UPDATE/NOTHING
, pero no puedo entender cómo, si es que puede ayudar, dado que necesito elid
ser devuelto.
Parece queRETURNING id
yON CONFLICT
No pertenecen juntos.