Вставить ... на дубликат ключа (ничего не делать)
у меня есть таблица с уникальным ключом для двух столбцов:
CREATE  TABLE `xpo`.`user_permanent_gift` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT ,
`fb_user_id` INT UNSIGNED NOT NULL ,
`gift_id` INT UNSIGNED NOT NULL ,
`purchase_timestamp` TIMESTAMP NULL DEFAULT now() ,
PRIMARY KEY (`id`) ,
UNIQUE INDEX `user_gift_UNIQUE` (`fb_user_id` ASC, `gift_id` ASC) );
Я хочу, чтобы вставить строку в таблицу, но если ключ существует, ничего не делать! Я не хочу, чтобы создавалась ошибка, потому что ключи существуют.
Я знаю, что есть следующий синтаксис:
INSERT ... ON DUPLICATE KEY UPDATE ...
но есть что-то вроде:
INSERT ... ON DUPLICATE KEY DO NOTHING 
?
2 ответа:
Пожалуйста, Используйте
INSERT ... ON DUPLICATE KEY IGNOREЯ не рекомендую использовать
ON DUPLICATE KEY UPDATE ...илиINSERT IGNOREпотому что обновление использовать ресурс для других действий, иINSERT IGNOREтолько используйте, если вы не заботитесь об этом запросе, потому что mysql не отправляет ошибка, если вы вставляете что-то и не можете ничего хендлинг!