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)。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM