我試圖通過幾年前使用早期版本的MySQL來運行這個表,並且它工作正常。看起來好像現在在最新版本的MySQL中存在時間戳(8)的問題。MySQL - 時間戳(8)替代?
CREATE TABLE top_hits (
sid int(11),
ip varchar(20),
cdate timestamp(8)
)
我可以用什麼作爲第4行時間戳(8)的替代方法? YYYYMMDD
cdate timestamp(8)
在此先感謝。
我試圖通過幾年前使用早期版本的MySQL來運行這個表,並且它工作正常。看起來好像現在在最新版本的MySQL中存在時間戳(8)的問題。MySQL - 時間戳(8)替代?
CREATE TABLE top_hits (
sid int(11),
ip varchar(20),
cdate timestamp(8)
)
我可以用什麼作爲第4行時間戳(8)的替代方法? YYYYMMDD
cdate timestamp(8)
在此先感謝。
在字段定義的(8)
部分確實不有任何影響:
的(8)
一部分指定的小時,分鍾和秒顯示尺寸。當執行SELECT
時,MySQL將返回時間戳as described here中日期的第一個XYZ
部分。
所以,只需從創建表查詢中消除顯示部分即可。這將創建一個timestamp
列。您可以使用MySQL函數或PHP格式化時間戳(例如截斷時間部分等)。
或者使用根本沒有存儲時間部分的DATE
數據類型。
的
timestamp(N)
句法被棄用的MySQL 5
你可以選擇您所選擇的日期的
SELECT date(ts)+0 from t;
DATETIME數據類型需要storege時間戳的8字節需要4字節和日期時間需要更大範圍的日期
您需要DATE類型,它存儲年,月和日。
如果需要格式化輸出(YYYYMMDD),請使用DATE_FORMAT函數。
你試過日期時間 –
這是什麼問題? –