2016-11-24 71 views
0

我正在使用mySQL數據庫來存儲提供模型的一系列輸入。我有許多不同的日期存儲爲TIMESTAMP。但是,一些價值可能在未來數百年。當我查看數據庫時,當實際時間戳應該是'2850-12-01 00:00:00'時,它們被存儲爲'0000-00-00 00:00:00'。mySQL - 時間戳的最大值

在Google上搜索時,我注意到最大值是2038年的某個時候。有沒有人找到了適用於更長時間的TIMESTAMP的解決方法?

回答

1

你可以將它們轉換成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) 
+0

這工作的一種享受。我沒有意識到DATETIME在mySQL中可用 - 後來有人告訴我,將代碼從MSSQL移動到mySQL時,必須將DATETIME轉換爲TIMESTAMP! – John