MySQL api

Posted it馅儿包子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL api相关的知识,希望对你有一定的参考价值。

今天看去年年中写的代码,留意到一个关键时刻能提高效率的api:on duplicate key update;

语法:

INSERT INTO INSERT INTO g_iot_user_building
()
VALUES()

ON DUPLICATE KEY UPDATE
a=‘a‘,
b=‘b‘;

 

当你想向某个表中插入数据,同时保证该条数据在表中不存在时,可使用上面这个方法;

值得注意的是,该方法是mysql特有,并不是sql通用,所以使用的时候需要区别使用;

使用场景:

调用钉钉人员相关接口,同步人员信息到本地数据库,此时,需要注意的是 判断钉钉接口返回的人员信息是否已存在于数据库中,还是新加入的人员;

 

此时,如果使用轮询去判断,则稍显繁琐,可使用 on duplicate key update语法,

需要留心的是,需要为用户的userid为设置UNIQUE索引(该键唯一,来源钉钉api),这样,即可满足:若数据库已有该人员信息,则更新,若没有该人员信息,则插入数据到表;

 

解释:

 如果在INSERT语句末尾指定了ON DUPLICATE KEY UPDATE,并且插入行后会导致在一个UNIQUE索引或PRIMARY KEY中出现重复值,则在出现重复值的行执行UPDATE;如果不会导致唯一值列重复的问题,则插入新行。

 





以上是关于MySQL api的主要内容,如果未能解决你的问题,请参考以下文章

MySQL

mysql初学,mysql修改,mysql查找,mysql删除,mysql基本命令

mysql(设置/更改mysql密码,连接MySQL,MySQL常用命令,MySQL两种引擎区别)

MySQL教程

MySQL

MySQL