mysql时间格式问题

图片描述

数据类型为 datetime, 为什么后面这么多000000? 怎么解决?
默认添加的时间 '2017-06-09 10:07:33'这样添加数据后,也会默认加好多0,醉了

阅读 5.3k
6 个回答
show variables like 'datetime_format';

clipboard.png
这是你想要设置datetime类型的格式,而你的后面估计还有毫秒,改成上面的就可以了。

问怎么改?
在mysql的配置文件my.cnf 或者 my.ini中的[mysqld]下加入

datetime_format=%Y-%m-%d %H:%i:%s

clipboard.png

改完保存,记得重启mysql服务!

时间精度问题,存储时间精度有秒级、毫秒级、微秒级,

DATETIME 范围:1000-01-01 00:00:00'到'9999-12-31 23:59:59',为秒级

你的时间表示是微秒级的,所以秒之后的时间精度是没有的,所以都是0

怎么解决
1.不用管,输出的时候格式化一下就好了,想要什么时间都可以
2.采用其它数据类型,我推荐int

你的时间应该取的微妙,然后转换的日期格式。
要是不要后面的格式的话 取11位的时间戳就可以。
你看看你取的时间戳是什么
mysql 5.6中的时间类型的新精度

图简单更换数据类型 timestamp 这样就不会默认出现0了,长度设置为0

新手上路,请多包涵

@nicezhu 用的是哪个版本的数据库,我用的一直都是精确到秒级的

你datetime长度设置6了,改成0就没有了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题