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

 Numeric value out of range: 1264 Out of range value for column 'end_time' at row 1 

在window上做开发,代码上传到linux做测试,数据插入提示错误,错误字段为时间字段数据库存int(10)时间戳,查到解决方案大多是修改mysql配置,求教php程序该怎么避免此错误

Qyouu
浏览 827回答 6
6回答

肥皂起泡泡

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

慕尼黑的夜晚无繁华

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

婷婷同学_

你的时间戳多大? 过2038年了? 换成datetime类型, 或者改表字段类型为大数字. 你保存的单位不会是毫秒吧?如果这样, 要改成bigint的.

MM们

提示是超过mysql int类型的存储范围了!unix时间戳不会超过一个int的吧? 检查你的php代码吧
打开App,查看更多内容
随时随地看视频慕课网APP