один запрос к БД.
Я использовал INSERT {data} RETURNING * union all SELECT WHERE {data}.
Ожидаю, что
1) при вставке значения insert returning вернет строку, select where вернет строку
2) если запись существует - только select where
В итоге бекенд получает 2 строки если была вставка, 1 строку если существует.
В реальности INSERT {data} RETURNING * union all SELECT WHERE {data} всегда возвращает одну строку.
Где я ошибся и как без изменения структуры БД (и желательно моделей в ОРМ) получить признак INSERT неINSERT?
А где здесь conflict-то? У Вас же его никогда не происходит, нет?
Обсуждают сегодня