MySQL插入数据insert into on duplicate key update,重复数据自动更新
MySQL中插入数据,如果插入的数据在表中已经存在(主键或者唯一键已存在),使用insert into on duplicate key update 语法可以更新重复数据的某些字段值。
1、语法
insert into table_name(field1,field2,...fieldN) values(value1,value2,...valueN) on duplicate key update fieldM = valueM;
限制条件:
- 主键重复
- 唯一键重复
2、案例
表结构及数据如下:
CREATE TABLE table_name(
id int(11) NOT NULL,
name varchar(50) DEFAULT NULL,
age int(11) DEFAULT NULL,
PRIMARY KEY (id),
UNIQUE KEY uk_name (name)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;