Я пытаюсь вставить новую таблицу в большую старую таблицу, чтобы обновить несколько строк, вот мой запрос:
INSERT INTO site_settings (set_id, set_sit_id,set_setting_name,set_setting_type)
SELECT set_id, set_sit_id, replace(TempTable2.stp_device_pool_filter, '${siteShortName}', TempTable2.sit_short_name), set_setting_type from TempTable2 where set_setting_type='DEVICE_POOL'
ON CONFLICT (set_id) DO UPDATE
SET set_sit_id=excluded.set_sit_id,
set_setting_name=excluded.set_setting_name,
set_setting_type=excluded.set_setting_type;
он возвращает мне сообщение:
двойное значение ключа нарушает ограничение уникальности "unique_site_setting" ДЕТАЛИ: Ключ (set_sit_id, set_setting_name, set_setting_type) = (13, SBA123-rr, DEVICE_POOL) уже существует.
Однако я использовал аналогичный запрос для обновления гораздо более сложной таблицы, это сработало.
не знаю в чем проблема