likes
comments
collection
share

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

作者站长头像
站长
· 阅读数 34

前几天做一个后台管理的项目,发现前端拿到的时间戳值是对的,但是存入数据库之后却一直存储的是2147483647,通过new Date()解析之后是Mon Jan 26 1970 04:31:23 GMT+0800 (中国标准时间),真是百思不得其解,前端用的是element-uidateTimePicker获取的日期和时间。为什么用nodejs操作mysql数据库存储时间戳会一直显示2147483647?后来经过多方排查之后,确定以及肯定前端没有问题,nodejs搭建的服务端也没问题,问题就出在了mysql数据库。后来我注意到了长度/值这个属性,最开始我设置字段类型是INT,给了50的长度(其实始终最长就是11,虽然显示的50),但是后来我想将其修改的更长时发现,始终只能保持在11的长度值(对于数据库并不精通的我只知道我请求数据需要数字类型)。后来到网上一查发现了一直显示2147483647的原因,其实就是长度的问题,2147483647就是INT的最大储存长度(可能说的有误,对数据库不够专业)。于是我就将字段类型改为了Varchar,前端请求到数据时将字符串类型的数据转换成了数字类型。为什么用nodejs操作mysql数据库存储时间戳会一直显示2147483647?最终得以解决,通过这次问题又学到一个知识点,就很棒!