mysql 一条sql实现插入或更新 on duplicate key update

表中数据:mysql 一条sql实现插入或更新 on duplicate key update
文章图片




执行插入两条主键冲突的数据,如果包含该主键则更新列name:
insert intot_my (id,`name`) VALUES (2,'bob2'),(3,'bob3') on DUPLICATE KEY UPDATE `name` = VALUES(`name`);


更新之后表数据为:mysql 一条sql实现插入或更新 on duplicate key update
文章图片





前提是表有主键或者唯一索引,若有多个索引都冲突,则只根据一个索引更新。
如需根据条件更新则可以使用mysql自带if()函数。

【mysql 一条sql实现插入或更新 on duplicate key update】

    推荐阅读