阿里-马云的学习笔记

导航

Mysql:如果数据存在则更新,不存在则插入

本篇文章转载自:https://www.cnblogs.com/Eric-zhao/p/6655994.html

mysql语法支持如果数据存在则更新,不存在则插入,首先判断数据存在还是不存在的那个字段要设置成unique索引,

例如表tb_addrbook如下:

 

索引: 

 

语句1:不存在插入

INSERT INTO tb_addrbook(num,name,mobile) VALUE('1001','小李','13112345678') ON DUPLICATE KEY UPDATE name= '小李',mobile='13112345678'

 

语句2:存在则更新

INSERT INTO tb_addrbook(num,name,mobile) VALUE('1001','小李','18800000000') ON DUPLICATE KEY UPDATE name= '小李',mobile='18800000000'

总结:由于num是unique索引 ,所以当数据重复时,插入会报错,从而执行后面的update语句,update的条件就是此unique索引的值(update XXX where num = XXX)。

 

posted on 2020-03-06 11:42  阿里-马云的学习笔记  阅读(2353)  评论(0编辑  收藏  举报