insert при отсутствии записи?
есть таблица с двумя уникальными ключами: primary key sequence и secondary key uuid. Кроме них в таблице куча других полей.
так вот, если я хочу узнать информацию о uuid, а его нет - нужно что бы происходил insert и отдавал мне все поля, как при обычном select.
ну т.е. бэку не нужно знать была ранее запись или нет, он всегда на выходе должен получать хранящуюся строку.
Использую Postgres 11.
P.S.
INSERT (uuid)
SELECT 'uuid'
WHERE NOT EXISTS(...)
ON CONFLICT (uuid) DO NOTHING
RETURNING *;
не подходит т.к. ничего не будет отдавать при существовании
хранимку напиши
делай не do nothing, а do update set updated_at = excluded.updated_at. Какое-нибудь поле перезаписывай. И тогда returning * будет всегда возвращать
Обсуждают сегодня