Что такое 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);
Комментарии