64 位 MySQL 的 PHP 年份 2038 问题无法通过 PHPMyAdmin 插入日期

标签 php mysql laravel date phpmyadmin

我有一个 MySQL 表,其中有一列名为“created_at”,它是一个 TIMESTAMP 字段。每当我尝试插入大于 2037 的日期时间时,我都会收到以下错误:

#1292 - Incorrect datetime value: '2039-06-18 16:54:35' for column 'created_at' at row 1

我知道这是 32 位 MySQL 的问题,但我运行的是 64 位的,难道这不是解决方案吗?

这是我的 MySQL 版本的命令输出:

mysqld  Ver 5.7.26-0ubuntu0.18.04.1 for Linux on x86_64 ((Ubuntu))

阅读 this建议使用 TIMESTAMP 字段是问题所在,使用 DATETIME 字段将解决问题,对吗?

最佳答案

出于兼容性原因,TIMESTAMP 仍然是 UNIX TIMESTAMP(32 位)......

您阅读的建议是正确的,请改用 DATETIME。

关于64 位 MySQL 的 PHP 年份 2038 问题无法通过 PHPMyAdmin 插入日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56714897/

相关文章:

php - 带有可选子路径的 Laravel 路由

php - 从 PHP 和设置权限在 phpBB3 中创建论坛

php - 性能:将 soundex 放入数据库还是在查询后翻译它?

php - 数据表的组合框 MySQL 过滤器

php - MySQL 返回所有结果而不重复数据

laravel - laravel中如何检查文件是否上传

php - 如何使用两个 id 在 laravel 中设置关系?

php - 当我使用 php 单击链接时如何在浏览器中显示 Linux 终端

mysql - 如何在mysql中将数据作为文本文件加载?

mysql - 10 月 CMS - 第 1 行的 'content' 列的数据太长