insert插入数据
遇到唯一键或主键冲突时,仍修改这条数据的一个或多个字段。
例子:
1)建表,插入两条数据
drop table if exists t2 ;
CREATE TABLE t2 (
id int unsigned NOT NULL auto_increment COMMENT '主键',
sname varchar(60) NOT NULL COMMENT '名字',
aid int(10) unsigned NOT NULL COMMENT '靓号',
bid int(11) NOT NULL COMMENT '靓靓号',
primary key (id)
);
INSERT INTO t2 VALUES
(1,'a',11,111),
(2,'b',22,222);
2)执行insert的 on duolicate key update 的用法,1、2为冲突数据,3为新数据
INSERT INTO t2 VALUES
(1,'aa',111,1111),
(2,'bb',222,2222),
(3,'cc',33,333)
on duplicate key update sname=values(sname),aid=values(aid);
3)查询数据,
第3条数据成功插入。
前两条冲突数据,sname、aid发生更新,bid不变。
select * from t2;