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 相关文章推荐
Mysql - 常用函数 每天积极向上
Apr 05 MySQL
Mysql 用户权限管理实现
May 25 MySQL
详解MySQL集群搭建
May 26 MySQL
MySQL中datetime时间字段的四舍五入操作
Oct 05 MySQL
MYSQL 表的全面总结
Nov 11 MySQL
MySQL数据库索引的最左匹配原则
Nov 20 MySQL
MySQL 开窗函数
Feb 15 MySQL
navicat 连接Ubuntu虚拟机的mysql的操作方法
Apr 02 MySQL
MySQL索引 高效获取数据的数据结构
May 02 MySQL
mysql 体系结构和存储引擎介绍
May 06 MySQL
Mysql 一主多从的部署
May 20 MySQL
MYSQL如何查看操作日志详解
May 30 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
php实现与erlang的二进制通讯实例解析
2014/07/23 PHP
PHP扩展安装方法步骤解析
2020/11/24 PHP
Javascript 汉字字节判断
2009/08/01 Javascript
js或css实现滚动广告的几种方案
2010/01/28 Javascript
javascript实现多级联动下拉菜单的方法
2015/02/06 Javascript
javascript制作2048游戏
2015/03/30 Javascript
javascript实现将文件保存到本地方法汇总
2015/07/26 Javascript
jQuery实现时尚漂亮的弹出式对话框实例
2015/08/07 Javascript
js+ajax实现获取文件大小的方法
2015/12/08 Javascript
JavaScript中的Object对象学习教程
2016/05/20 Javascript
关于json字符串与实体之间的严格验证代码
2016/11/10 Javascript
关于Function中的bind()示例详解
2016/12/02 Javascript
基于JavaScript实现焦点图轮播效果
2017/03/27 Javascript
详解JS数组Reduce()方法详解及高级技巧
2017/08/18 Javascript
Javascript 之封装(Package)
2018/09/14 Javascript
JavaScript根据json生成html表格的示例代码
2018/10/24 Javascript
python递归下载文件夹下所有文件
2019/08/31 Python
python创建子类的方法分析
2019/11/28 Python
python GUI库图形界面开发之PyQt5布局控件QVBoxLayout详细使用方法与实例
2020/03/06 Python
Python Scrapy图片爬取原理及代码实例
2020/06/12 Python
泰国汽车、火车和轮渡票预订网站:Bus Online Ticket
2017/09/09 全球购物
英国广泛的照明产品网站:Lights4living
2018/01/28 全球购物
英国设计的甲板鞋和船鞋:Chatham
2018/12/06 全球购物
英国领先的鞋类零售商和顶级品牌的官方零售商:Wynsors
2020/02/17 全球购物
化工专业大学生职业生涯规划书
2014/01/14 职场文书
消防工作实施方案
2014/06/09 职场文书
社区助残日活动总结
2014/08/29 职场文书
购房委托书范本
2014/09/18 职场文书
群众路线领导干部个人对照检查材料(集锦)
2014/09/23 职场文书
授权委托书怎么写
2014/09/25 职场文书
开展党的群众路线教育实践活动情况汇报
2014/11/05 职场文书
2015年党员自我剖析材料
2014/12/17 职场文书
2015年国庆节活动总结
2015/03/23 职场文书
跑出一片天观后感
2015/06/08 职场文书
Python中使用Opencv开发停车位计数器功能
2022/04/04 Python
vue3不同环境下实现配置代理
2022/05/25 Vue.js