mysql timestamp比较查询遇到的坑及解决


Posted in MySQL onNovember 27, 2021

timestamp比较查询遇到的坑

记得之前京东要求mysql建表的时候update_time 为timestamp,create_time为datetime。后来阿里的编码规范里要求两者都要是datetime类型的。

mysql timestamp比较查询遇到的坑及解决

对于timestamp和datetime的区别好多地方都有介绍。有时在想为什么京东会要求update_time必须timestamp呢?难道是因为占用的空间少点?还是只有timestamp才能设置默认值(on update current_timestamp)?默认值datetime不是也可以设置么。后来百度了下,才知道 datetime支持设置默认值是在5.7的时候才支持的。京东这么要求可能之前使用的mysql版本过低,同时要求update_time 能自动更新的缘故吧。

现在在一家公司也是这么要求的 ,update_time设置为timestamp。结果遇到坑了。一同事发现很奇怪的问题:为什么date比较查询没有结果,而把日志里面打印的sql直接执行却能查询到结果??为什么会出现这种不一致的情况,我之前也没遇到过。解决问题嘛,总是让人兴奋的。

mysql timestamp比较查询遇到的坑及解决

自己在本地试了下,确实是这样的,打印的日志没有问题,而正是日志‘迷惑'了我们,让人觉得很奇怪。看了下比较的字段 是 update_time, 正是timestamp类型的。经过阿里规范熏陶过,敏锐的觉得应该是类型的问题。所以自己百度了下发现是时区的问题。在数据库连接url后面加上serverTimezone=GMT%2B8 参数就行了。当然另一种方式就用datetime,这样能避免很多坑。

为什么会出现这样的问题?是因为应用服务器和mysql部署的服务器时区不一致导致的。这就是为什么我们看到的打印日志没有问题,但是却查询不到结果的原因(日志中看到的时间是本机的时区,但是当数据传输到mysql服务器时,是另一个时区的时间)

mysql 的date 也有这个问题。。。

timestamp查询范围问题

MySQL中timestamp类型日期,比如更新时间是2020-05-26,查询是时 update_time <= 2020-05-26,是查询不到的,需要转为 DATE_FORMAT(info.up_time,'%Y-%m-%d') <= '2020-05-26',具体原因不明,需要深入研究。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持三水点靠木。

MySQL 相关文章推荐
MySQL8.0.24版本Release Note的一些改进点
Apr 22 MySQL
MySql新手入门的基本操作汇总
May 13 MySQL
Mysql Online DDL的使用详解
May 20 MySQL
mysql函数全面总结
Nov 11 MySQL
SQL基础的查询语句
Nov 11 MySQL
MySQL之MyISAM存储引擎的非聚簇索引详解
Mar 03 MySQL
mysql 生成连续日期及变量赋值
Mar 20 MySQL
Mysql如何实现不存在则插入,存在则更新
Mar 25 MySQL
Mysql 一主多从的部署
May 20 MySQL
MySQL 语句执行顺序举例解析
Jun 05 MySQL
MySQL池化框架学习接池自定义
Jul 23 MySQL
MySQL count(*)统计总数问题汇总
Sep 23 MySQL
分享mysql的current_timestamp小坑及解决
Nov 27 #MySQL
MySQL中CURRENT_TIMESTAMP的使用方式
Nov 27 #MySQL
MySQL Innodb索引机制详细介绍
Nov 23 #MySQL
浅谈mysql哪些情况会导致索引失效
Nov 20 #MySQL
MySQL数据库索引的最左匹配原则
Nov 20 #MySQL
mysql 联合索引生效的条件及索引失效的条件
Nov 20 #MySQL
MySQL利用UNION连接2个查询排序失效详解
Nov 20 #MySQL
You might like
收音机玩机评测 406 篇视频合集
2020/03/11 无线电
PHP实现全角字符转为半角方法汇总
2015/07/09 PHP
PHP 接入微信扫码支付总结(总结篇)
2016/11/03 PHP
让Laravel API永远返回JSON格式响应的方法示例
2018/09/05 PHP
php微信公众号开发之图片回复
2018/10/20 PHP
自己动手开发jQuery插件教程
2011/08/25 Javascript
js控制CSS样式属性语法对照表
2012/12/11 Javascript
Ext JS 4实现带week(星期)的日期选择控件(实战二)
2013/08/21 Javascript
js实现跨域的方法实例详解
2015/06/24 Javascript
JQuery自适应窗口大小导航菜单附源码下载
2015/09/01 Javascript
js获取表格的行数和列数的方法
2015/10/23 Javascript
js+canvas绘制五角星的方法
2016/01/28 Javascript
react性能优化达到最大化的方法 immutable.js使用的必要性
2017/03/09 Javascript
原生JavaScript实现的简单省市县三级联动功能示例
2017/05/27 Javascript
zTree树形插件异步加载方法详解
2017/06/14 Javascript
javascript 面向对象实战思想分享
2017/09/07 Javascript
vue2.0 子组件改变props值,并向父组件传值的方法
2018/03/01 Javascript
vue升级之路之vue-router的使用教程
2018/08/14 Javascript
其实你可以少写点if else与switch(推荐)
2019/01/10 Javascript
Python实现桶排序与快速排序算法结合应用示例
2017/11/22 Python
Python3多线程爬虫实例讲解代码
2018/01/05 Python
PyQt5通信机制 信号与槽详解
2019/08/07 Python
使用python实现画AR模型时序图
2019/11/20 Python
django3.02模板中的超链接配置实例代码
2020/02/04 Python
python爬取2021猫眼票房字体加密实例
2021/02/19 Python
英国领先的在线高尔夫商店:Scottsdale Golf
2019/08/26 全球购物
母亲80寿诞答谢词
2014/01/16 职场文书
浙江文明网签名寄语
2014/01/18 职场文书
会计师职业生涯规划范文
2014/02/18 职场文书
建议书的格式
2014/05/12 职场文书
工厂门卫的岗位职责
2014/07/27 职场文书
小学安全汇报材料
2014/08/14 职场文书
小学生十佳少年事迹材料
2014/08/20 职场文书
员工保密协议书
2014/09/27 职场文书
高三英语教学反思
2016/03/03 职场文书
OpenCV-Python实现轮廓的特征值
2021/06/09 Python