INSERT 表名(字段) VALUES(字段值) ON DUPLICATE KEY UPDATE 条件语句实例
时间:2024年03月30日
/来源:网络
/编辑:佚名
INSERT...ON DUPLICATE KEY UPDATE...语句
首先这个的出现一般伴随着UPDATE 语句。我们先来想这样一种场景,我要对数据库中的一条记录,进行新增或者修改,但是呢又不想自己去判断里面是否有,说白了 就是两次查询。
//查今天,这个租户下没有的话插入,有的话+1
StaticActionInfo staticActionInfo = staticActionInfoDao.findStaticActionInfoB
if(staticActionInfo == null){
staticActionInfo model = new StaticActionInfo();
model.setApplication_uri(uri);
model.setAction_number(1L);
model.setTenant_id(tenantId);
model.setPerson_name(tokenService.getLoginUserName());
model.setPerson_id(tokenService.getLoginUserId());
model.setCreate_time(new Date() );
model.setUpdate_time(new Date() );
staticActionInfoDao.saveActionInfo(model);
}else {
staticActionInfo.setAction_number(staticActionInfo.getAction_number() +1);
staticActionInfo.setUpdate_time(new Date() );
staticActionInfoDao.updateActionInfoCountByOption(staticActionInfo);
}
通过一行sql搞定。
INSERT INTO t_user(id,name,age) VALUES (1,'张三',25)
ON DUPLICATE KEY UPDATE name='张小三',age=30;
代码层面的东西其实没有能省略,两个sql合为了一个而且update的具体操作必须在数据库里完成,比如这里的+1。
首先这个的出现一般伴随着UPDATE 语句。我们先来想这样一种场景,我要对数据库中的一条记录,进行新增或者修改,但是呢又不想自己去判断里面是否有,说白了 就是两次查询。
//查今天,这个租户下没有的话插入,有的话+1
StaticActionInfo staticActionInfo = staticActionInfoDao.findStaticActionInfoB
if(staticActionInfo == null){
staticActionInfo model = new StaticActionInfo();
model.setApplication_uri(uri);
model.setAction_number(1L);
model.setTenant_id(tenantId);
model.setPerson_name(tokenService.getLoginUserName());
model.setPerson_id(tokenService.getLoginUserId());
model.setCreate_time(new Date() );
model.setUpdate_time(new Date() );
staticActionInfoDao.saveActionInfo(model);
}else {
staticActionInfo.setAction_number(staticActionInfo.getAction_number() +1);
staticActionInfo.setUpdate_time(new Date() );
staticActionInfoDao.updateActionInfoCountByOption(staticActionInfo);
}
通过一行sql搞定。
INSERT INTO t_user(id,name,age) VALUES (1,'张三',25)
ON DUPLICATE KEY UPDATE name='张小三',age=30;
代码层面的东西其实没有能省略,两个sql合为了一个而且update的具体操作必须在数据库里完成,比如这里的+1。
新闻资讯 更多
- 【mysql教程】mysql出现提示Table is marked as crashed and should be repaired 解决办法04-02
- 【mysql教程】 mysql实现不存在就Insert into存在则update举例03-30
- 【mysql教程】INSERT 表名(字段) VALUES(字段值) ON DUPLICATE KEY UPDATE 条件语句实例03-30
- 【mysql教程】sql中ON DUPLICATE KEY UPDATE有什么用?03-30
- 【mysql教程】mysql实现不存在就 Insert into 存在则 update03-30
- 【mysql教程】MySQL 当记录不存在时insert,当记录存在时update03-30
- 【mysql教程】将INSERT INTO转换为UPDATE03-30
- 【mysql教程】sql技术 --insert 变 update03-30
猜你需要