mysql日期函数及批量循环返回主键ID
Posted 夏沫秋至
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql日期函数及批量循环返回主键ID相关的知识,希望对你有一定的参考价值。
实际项目中总是会遇到各种时间计算查询等等许多时候是特别麻烦前阵子公司有个需求大致是要查询当前日期与数据库存储日期之差,本来写了个工具类调用的但是最后觉得这样不好就想着能不能用函数解决,没想到还真有这里分享下,sql如下:
select datediff(‘2017-04-21‘,(select now())) as days;日期相减得到天数,简单吧,获取当前日期其实也是有函数的,但是有的mysql版本不支持具体各位自己尝试,还有一个就是日期格式查询处理也很简单DATE_FORMAT(
t1.cfcadownloadtime,
‘%Y-%m-%d %H:%i:%s‘)写自己想要的格式就OK,日期这块比较简单,但是这个循环批量返回id真的是难住我好久,大家都知道
t1.cfcadownloadtime,
‘%Y-%m-%d %H:%i:%s‘)写自己想要的格式就OK,日期这块比较简单,但是这个循环批量返回id真的是难住我好久,大家都知道
<selectKey resultType="Integer" keyProperty="uid" order="AFTER">
SELECT
LAST_INSERT_ID() as uid
</selectKey> 这种方式可以返回单个ID,其实他的方式就是查询最后一条添加数据的主键,或者呢useGeneratedKeys="true" keyProperty="rid" 这样,但是批量的他就是不行,在百度上搜索好久看到好多人也遇到这个问题其实原因也很简单mybatis升到3.1版本以上就OK,这个可以说是mybatis的一个BUG在3.1以后修复了,虽然这些问题看起来简单可是做起来确实是费事,也算是前车之鉴吧
SELECT
LAST_INSERT_ID() as uid
</selectKey> 这种方式可以返回单个ID,其实他的方式就是查询最后一条添加数据的主键,或者呢useGeneratedKeys="true" keyProperty="rid" 这样,但是批量的他就是不行,在百度上搜索好久看到好多人也遇到这个问题其实原因也很简单mybatis升到3.1版本以上就OK,这个可以说是mybatis的一个BUG在3.1以后修复了,虽然这些问题看起来简单可是做起来确实是费事,也算是前车之鉴吧
以上是关于mysql日期函数及批量循环返回主键ID的主要内容,如果未能解决你的问题,请参考以下文章
MySQL# 用户权限操作查询的同时更新一张表greatest()和least()函数日期时间操作函数解决主键自动增长2Navicat查看数据库密码