登录
首页 >  数据库 >  MySQL

为什么用nodejs操作mysql数据库存储时间戳会一直显示2147483647?

来源:SegmentFault

时间:2023-02-16 15:27:55 192浏览 收藏

在数据库实战开发的过程中,我们经常会遇到一些这样那样的问题,然后要卡好半天,等问题解决了才发现原来一些细节知识点还是没有掌握好。今天golang学习网就整理分享《为什么用nodejs操作mysql数据库存储时间戳会一直显示2147483647?》,聊聊MySQL、前端、Node.js,希望可以帮助到正在努力赚钱的你。

前几天做一个后台管理的项目,发现前端拿到的时间戳值是对的,但是存入数据库之后却一直存储的是2147483647,通过

new Date()
解析之后是
Mon Jan 26 1970 04:31:23 GMT+0800 (中国标准时间)
,真是百思不得其解,前端用的是
element-ui
dateTimePicker
获取的日期和时间。
image.png

后来经过多方排查之后,确定以及肯定前端没有问题,nodejs搭建的服务端也没问题,问题就出在了
mysql数据库
。后来我注意到了
长度/值
这个属性,最开始我设置字段类型是
INT
,给了50的长度(其实始终最长就是11,虽然显示的50),但是后来我想将其修改的更长时发现,始终只能保持在11的长度值(对于数据库并不精通的我只知道我请求数据需要数字类型)。
后来到网上一查发现了一直显示2147483647的原因,其实就是长度的问题,2147483647就是
INT
的最大储存长度(可能说的有误,对数据库不够专业)。于是我就将字段类型改为了
Varchar
,前端请求到数据时将字符串类型的数据转换成了数字类型。
image.png

最终得以解决,通过这次问题又学到一个知识点,就很棒!

理论要掌握,实操不能落!以上关于《为什么用nodejs操作mysql数据库存储时间戳会一直显示2147483647?》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

声明:本文转载于:SegmentFault 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>