Java存Mysql数据库中,时间戳timestamp不显示毫秒,只显示000

为什么JAVA 中的用Timestamp 变量 显示毫秒是有值得 例如:2017-07-30 18:50:41.752。 但是存到MYSQL数据库后发现毫秒位是三个零例如:2017-07-30 18:50:41.000。 请大神指导,感谢!!!! 数据库版本问题吗?我的是5.6.34

应该是数据库设置的字符长度有关系

可以存number类型,数字,也可以存string,后台直接存取;直接以timestamp.gettime(),的值,存入数据就行

这是mysql版本的问题,,一般只支持秒,版本高就有了

建议采取两种方法:1.更新mysql版本;mysql 5.6.4以上版本才支持毫秒存取。2.更改存储数据类型,例如转为字符型存储。

题主可以使用字符串进行存储

存储时候可以转为字符串截取想要的格式

如果这个时间戳不是很重要,用varchar类型代替,可以避免时间问题,毕竟失去精度很常见。

创建表的时候字段定义这样写.

update_time timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)
然后自动维护的精度就到秒后6位了.