为了账号安全,请及时绑定邮箱和手机立即绑定

mysql 1264 错误 php程序代码如何避免

mysql 1264 错误 php程序代码如何避免

PHP
Qyouu 2019-03-18 18:11:46
Numeric value out of range: 1264 Out of range value for column 'end_time' at row 1 在window上做开发,代码上传到linux做测试,数据插入提示错误,错误字段为时间字段数据库存int(10)时间戳,查到解决方案大多是修改mysql配置,求教php程序该怎么避免此错误
查看完整描述

6 回答

?
肥皂起泡泡

TA贡献1829条经验 获得超6个赞

原因是转时间的时候出现时间错误2099年,直接超过int最大值,想想还是放弃int改为bigint存储才是长久之计

查看完整回答
反对 回复 2019-03-18
?
慕尼黑的夜晚无繁华

TA贡献1864条经验 获得超6个赞

你的数太大了,数据库存字段存不下,和你程序没什么关系。
如果强行要这么做的话,也不是不行,你把时间戳减掉一个大数,比如1500000000,得到的数到时足够小了,取出来你再加上去。但是这么做着实蠢了一点。

查看完整回答
反对 回复 2019-03-18
?
婷婷同学_

TA贡献1844条经验 获得超8个赞

你的时间戳多大? 过2038年了?

换成datetime类型, 或者改表字段类型为大数字.

你保存的单位不会是毫秒吧?
如果这样, 要改成bigint的.

查看完整回答
反对 回复 2019-03-18
?
MM们

TA贡献1886条经验 获得超2个赞

提示是超过mysql int类型的存储范围了!unix时间戳不会超过一个int的吧? 检查你的php代码吧

查看完整回答
反对 回复 2019-03-18
  • 6 回答
  • 0 关注
  • 826 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信