• webqwe-资源分享和开发经验
AD
AD

Home / 开发 / 你的mysql数据能撑过2038年吗?

你的mysql数据能撑过2038年吗?

2023-12-06 10:32:52
363 阅读
1292 - Incorrect datetime value: '2038-04-22 08:17:03' for column 'expired_at' at row 1

因为timestamp为4字节,因此最大值为 2147483647 (同int的最大值),换算为时间则为 2038-01-19 03:14:07(UTC时间),即北京时间2038-01-19 11:14:07

解决办法:

改为datetime 类型:datetime 类型的范围更广,它能够表示的时间范围是从 '1000-01-01 00:00:00' 到 '9999-12-31 23:59:59'。然而,datetime 类型在存储上可能会占用更多的空间。

使用 bigint 存储时间戳:如果你需要更大的时间范围,并且需要毫秒级别的精度,可以考虑使用 bigint 类型存储时间戳。将时间戳以毫秒或微秒的形式存储在 bigint 字段中,可以更灵活地处理大范围的时间。在这种情况下,你需要在应用中负责将时间戳转换为适当的格式和时区。

数据库升级:如果你的 MySQL版本较低,可以考虑进行数据库升级来解决,且MySQL5.7已经EOL,建议尽快升级至新版本。





uuid怎么下载(免费) | 求资源
本站提供的一切软件、教程和内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。 本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。 如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。敬请谅解!
标签
author
pings

每天都在打酱油~

评论
登录后评论