Справочники SQL ON DUPLICATE

Что такое ON DUPLICATE в SQL?

Оператор ON DUPLICATE KEY UPDATE в языке SQL используется в команде INSERT для обработки конфликтов при вставке данных в таблицу с уникальным индексом или первичным ключом. Если вставляемые данные приводят к конфликту с уже существующей записью, оператор обновляет значения указанных столбцов в существующей записи.


Синтаксис:

INSERT INTO table_name (column1, column2, ...)
VALUES (value1, value2, ...)
ON DUPLICATE KEY UPDATE column1 = value1, column2 = value2, ...;

Параметры:

  • table_name: Имя таблицы, в которую выполняется вставка данных.
  • column1, column2, ...: Список столбцов для вставки данных.
  • value1, value2, ...: Значения для вставки в соответствующие столбцы.
  • column1 = value1, column2 = value2, ...: Список столбцов и их новых значений для обновления данных при конфликте.


Пример:

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

INSERT INTO Students (StudentID, FirstName, LastName, GPA)
VALUES (1, 'Alice', 'Johnson', 3.5)
ON DUPLICATE KEY UPDATE GPA = VALUES(GPA);
Комментарии
Добавить комментарий

Пока комментариев нет