Команда INSERT IGNORE
Команда INSERT IGNORE используется для добавления записей
в таблицу без возникновения ошибки при конфликте уникального
или первичного ключа. Если вставляемая строка нарушает ограничение,
она пропускается, а выполнение запроса продолжается.
Синтаксис
INSERT IGNORE INTO table_name (column_list)
VALUES (value_list)
Таблицы для примеров
| id | name | |
|---|---|---|
| 1 | ivan@example.com | Ivan |
| 2 | petr@example.com | Petr |
Пример
Давайте выполним попытку вставки записи с уже существующим значением уникального поля `email`, при которой конфликтующая строка будет проигнорирована:
INSERT IGNORE INTO users (id, email, name)
VALUES (3, 'ivan@example.com', 'Ivan Clone')
Результат выполнения кода:
| id | name | |
|---|---|---|
| 1 | ivan@example.com | Ivan |
| 2 | petr@example.com | Petr |
Пример
Давайте вставим несколько записей, при этом строки с конфликтом уникального ключа будут пропущены, а остальные добавлены в таблицу:
INSERT IGNORE INTO users (id, email, name)
VALUES
(3, 'sergey@example.com', 'Sergey'),
(4, 'petr@example.com', 'Petr Copy'),
(5, 'olga@example.com', 'Olga')
Результат выполнения кода:
| id | name | |
|---|---|---|
| 1 | ivan@example.com | Ivan |
| 2 | petr@example.com | Petr |
| 3 | sergey@example.com | Sergey |
| 5 | olga@example.com | Olga |
Смотрите также
-
команду
INSERT,
которая добавляет записи -
команду
UNIQUE,
которая запрещает дубликаты значений -
конструкцию
ON DUPLICATE KEY UPDATE,
которая обновляет при конфликте -
команду
REPLACE INTO,
которая заменяет запись по ключу