MySQL вставка игнорировать для дубликатов, но сбой при ошибках внешнего ключа - PullRequest
0 голосов
/ 13 декабря 2018

Есть ли способ в одном операторе MySQL вставить записи в таблицу, игнорируя ошибки повторяющегося ключа, но терпя неудачу в случае сбоя ограничения внешнего ключа?

insert ignore into `table` ...

будет игнорировать как ошибки дубликата, так и ошибки внешнего ключа, так что это не будет работать для моих целей.

1 Ответ

0 голосов
/ 13 декабря 2018
INSERT IGNORE 

будет игнорировать все ошибки, это глобальное игнорирование.

Вы можете использовать следующую инструкцию, чтобы игнорировать дублирующиеся ключи, но не другие

INSERT INTO sample (col1, col2, col3) VALUES ('val1','val2','val3') ON DUPLICATE KEY UPDATE col1=col1;
...