MySql避免重复插入记录方法

来源:互联网 发布:ps美工教程视频 编辑:程序博客网 时间:2024/05/16 12:16

类似oracle merge into

创建_user表


CREATE TABLE _user (
id VARCHAR(36) NOT NULL,
pro_id VARCHAR(36),
mobile VARCHAR(36) NOT NULL,
ctm DATETIME,
cnt INTEGER,
PRIMARY KEY (id)
);

约束:

ALTER TABLE _user DROP INDEX mobile;

ALTER TABLE _user ADD UNIQUE (mobile);
插入数据,

插入 语句后加入 ON DUPLICATE KEY 主键匹配成功后所要做的更新操作

INSERT IGNORE  INTO _user (id,pro_id,mobile,ctm,cnt)  VALUE(uuid(),'pro_id','13800138000',now(),1 ) ON DUPLICATE KEY UPDATE cnt =cnt+1;
INSERT IGNORE  INTO _user (id,pro_id,mobile,ctm,cnt)  VALUE(uuid(),'pro_id','13800138000',now(),1 ) ON DUPLICATE KEY UPDATE cnt =cnt+1,ctm =now();

参考:

http://blog.csdn.net/justhavetry/article/details/36627899