MySQL - 时间戳的最大值

Joh*_*ohn 2 mysql timestamp

我正在使用 MySQL 数据库来存储为模型提供的一系列输入。我有许多不同的日期存储为TIMESTAMP.

然而,有些值可能是未来数百年的值。当我查看数据库时,它们被存储为'0000-00-00 00:00:00'实际时间戳应该类似于'2850-12-01 00:00:00'.

在 Google 上搜索时,我注意到最大值是 2038 年的某个时间。有人找到了较长日期时间戳的解决方法吗?

ele*_*nst 5

您可以将它们转换为DATETIME,它将存储您想要的内容。比较:

MariaDB [test]> create table t (t timestamp, d datetime);
Query OK, 0 rows affected (0.59 sec)

MariaDB [test]> insert into t values ('2850-12-01 00:00:00','2850-12-01 00:00:00');
Query OK, 1 row affected, 1 warning (0.08 sec)

MariaDB [test]> select * from t;
+---------------------+---------------------+
| t                   | d                   |
+---------------------+---------------------+
| 0000-00-00 00:00:00 | 2850-12-01 00:00:00 |
+---------------------+---------------------+
1 row in set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)