on duplicate key update:
要是插入的数据与表中数据的唯一索引或者主键重复,就会发生旧行的更新,否则插入一条新的记录。
例:
users表内容
执行语句
insert into users (id, name, pwd) values (1, '张三111', '密码111') on duplicate key update name = '张三222' , pwd = '密码222';
执行过的users表
on duplicate key update 可以多行插入
insert into `users` (`id`, `name`) values (1, 2), (4, 5) on duplicate key update `id`=values(`name`);
注:若多个索引都冲突,则只有一条记录被修改。