И снова здравствуйте.
Как бы мне извернуться, и узнать какое-нибудь поле из конфликтной
записи, которого не было во вставке?
То есть, грубо говоря
я вставляю новую запись в таблицу
# \d requests Таблица "public.requests" Столбец | Тип
| Модификаторы
---------------+-----------------------------+------------------------------------------------------- id |
bigint | NOT NULL DEFAULT
nextval('requests_id_seq'::regclass) middleware_id | character varying(1024) |
Индексы: "requests_pkey" PRIMARY KEY, btree (id) "requests_middleware_id_index" UNIQUE, btree (middleware_id)
И вот такой командой оно мне, в случае конфликта middleware_id
возвращает ровно ничего.
> insert into requests ( middleware_id ) values (1) on conflict do
nothing returning id;
id
----
(0 строк)
INSERT 0 0
А я хочу id записи, или все поля записи.
Или это невозможно и надо проверять результат и потом SELECT?
В общем если добавить какое-то поле типа access_counter и ON CONFLICT DO
UPDATE SET access_counter = access_counter + 1
то, конечно, id вернётся, но планируется неплохая нагрузка на эту
таблицу и не хочется добавлять.
//ДП
--
Sent via pgsql-ru-general mailing list (pgsql-ru-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-ru-general