172 похожих чатов

Всем привет, довольно глупый вопрос, но как более кошерно делать

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 *;

не подходит т.к. ничего не будет отдавать при существовании

2 ответов

5 просмотров

хранимку напиши

делай не do nothing, а do update set updated_at = excluded.updated_at. Какое-нибудь поле перезаписывай. И тогда returning * будет всегда возвращать

Похожие вопросы

Обсуждают сегодня

Сообщение* в закодированном виде. То есть, просто сделать sendMessage?text=Привет бла-бла! не получится, надо в HEX переводить, и добавлять процент, типа такого: sendMessage?t...
КТ315
21
Anyone here suffers from unexplained aural migraines, who would be up for talking for a bit? Doesn't *have* to be aural, but I am not asking about headaches, I mean actual mi...
Martin Rys
58
А случайно нет ли в паскале штатной возможности передать указатель и количество туда где array of в качестве аргумента?
zamtmn
25
> комьюнити я бы не судил по этому чату. Как мы видели по статам просмотров нескольких телеговских постов, то в чате их набивается 30-40 или даже выше, когда как общаются акти...
Constantin F.
4
всем трям! Кто-нибудь работал со связкой werf + harbor + trivy ? Во время сборки образа выходит ошибка "PROJECTPOLICYVIOLATION: current image with "Pending" status of vulnerab...
Авессалом
11
приветы , подскажите что я не так сделал , почему у меня скрипт не работает в программе Revit ? ;Autohotkey_RU IfWinActive ("ahk_exe Revit.exe") ; только в открытом Revit Gu...
Anton Terentev
2
Ну раз я пока тут, задам пару глупых вопросов. Зачем писать на ассемблере если компилятор довольно умный, а ассемблер много времени занимает? В каких прикладных задачах сейчас...
Максим Рябцев
20
Как сделать чтобы short точно был 2 байта, int точно 4 байта ?(без стандартных библиотек, ну типа без int16_t, int32_t)
#
8
Всем привет. Испытываю проблемы в работе БД, а именно огромного роста логов, такого характера: 024-05-16 18:39:07 +05 sentry sentry [unknown] 1050169 7-1 app-sentry01.corp.ru>...
Alexey
2
Почему Telegram пишет, что объект media не найден, хотя на самом деле я его передаю? Делаю на urllib, без зависимостей, так надо. Вызываю метод sendMediaGroup с таким JSON: ...
Alexey S
1
Карта сайта