У меня есть таблица с несколькими уникальными индексами.Возможно ли ON CONFLICT UPDATE только для одного из них и DO NOTHING для всех остальных, обработка с DO NOTHING будущими уникальными индексами без возврата и изменения кодаили, по крайней мере, существующие.Пример:
ON CONFLICT (name, age)
DO UPDATE SET
occupation = 'teacher'
ELSE ON CONFLICT(all others) DO NOTHING;
Прямо сейчас, конечно, он выдает ошибку для всех других индексов, кроме 1-го.Или, в качестве альтернативы, как лучше всего справиться с этим, чтобы не было ошибок.Спасибо.
CREATE UNIQUE INDEX index1 ON contact USING btree (name, age);
CREATE UNIQUE INDEX index2 ON contact USING btree (name, address) WHERE (address IS NOT NULL);
CREATE UNIQUE INDEX index3 ...
CREATE UNIQUE INDEX index4 ...
INSERT INTO contact
(name,
age,
address,
occupation)
VALUES
('John',
25,
'1 main st',
'doctor')
ON CONFLICT (name, age)
DO UPDATE SET
occupation = 'teacher';