我有一个带有两列唯一键的表:
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 ... ON DUPLICATE KEY UPDATE id=id(即使id已分配给自身,它也不会触发行更新)。
如果您不关心错误(转换错误,外键错误)和自动递增字段用尽(即使由于重复键而未插入行,它也会增加),请使用INSERT IGNORE。来源:stack overflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。