INSERT … ON DUPLICATE KEY (do nothing)

У меня есть таблица с уникальным ключом для двух столбцов:

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 

?

175
задан Mark Amery 27 December 2014 в 15:48
поделиться