PostgreeSQL: INSERT or UPDATE в запросе
В Postgree очень удобно реализовывать механизм защиты от избыточной вставки одинаковых значений.
- Назначаем на колонки таблицы контроль уникальности
1 2 |
CONSTRAINT control_un_key UNIQUE (dtfrom_utc) INCLUDE(tar_id,user_group), |
2. Далее при вставке достаточно указать что то в духе:
1 2 3 |
INSERT INTO tars_list ( dtfrom_utc, tar_id, user_group) VALUES (:dtfrom_utc,:tar_id,:user_group) ON CONFLICT DO NOTHING |
Одно плохое НО. Проверка уникальности не будет работать, если в полях есть null