Довідники SQL ON CONFLICT

Що таке ON CONFLICT в SQL?

Оператор ON CONFLICT у мові SQL використовується у команді INSERT для управління дублікатами даних у разі порушення унікальності чи обмежень цілісності у таблиці. Цей оператор надає способи обробки конфліктів під час вставлення нових даних.


Синтаксис:

INSERT INTO table_name (column1, column2, ...)
VALUES (value1, value2, ...)
ON CONFLICT (conflict_column)
DO UPDATE SET column1 = value1, column2 = value2, ...;

Параметри:

  • table_name: Ім'я таблиці, в яку виконується вставка даних.
  • column1, column2, ...: Список стовпців для вставки даних.
  • value1, value2, ...: Значення для вставки у відповідні колонки.
  • conflict_column: Стовпець, який використовується для визначення конфлікту даних.
  • column1 = value1, column2 = value2, ...: Список стовпців та їх нових значень для оновлення даних при конфлікті.


Приклад:

Припустимо, у нас є таблиця "Students" з унікальним обмеженням на стовпець "StudentID", і ми хочемо вставити нового студента або оновити існуючого, якщо він вже існує:

INSERT INTO Students (StudentID, FirstName , LastName, GPA)
VALUES (1, 'Alice', 'Johnson', 3.5)
ON CONFLICT (StudentID)
DO UPDATE SET GPA = EXCLUDED.GPA;
Коментарі
Додати коментар

Поки що коментарів немає