INSERT …在复制密钥(什么也不做)
我有一个两列独特的关键表:
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
?
是的,这里有INSERT IGNORE
,或者你可以在ON DUPLICATE KEY UPDATE id=id
。