| 型別 | 儲存空間 | 格式 | 範圍 | 零值 |
|---|---|---|---|---|
| DATETIME | 8 bytes | YYYY-MM-DD HH:MM:SS | 1000-01-01 00:00:00 ~ 9999-12-31 23:59:59 | 0000-00-00 00:00:00 |
| TIMESTAMP | 4 bytes | YYYY-MM-DD HH:MM:SS | 1970-01-01 08:00:01 ~ 2038-01-19 11:14:07 | 0000-00-00 00:00:00 |
| DATE | 4 bytes | YYYY-MM-DD | 1000-01-01 ~ 9999-12-31 | 0000-00-00 |
| TIME | 3 bytes | HH:MM:SS | -838:59:59 ~ 838:59:59 | 00:00:00 |
| YEAR | 1 byte | YYYY | 1901 ~ 2155 (4位) | 0000 |
CURRENT_TIMESTAMPON UPDATE CURRENT_TIMESTAMPDEFAULT 0 或 DEFAULT CURRENT_TIMESTAMP 顯式控制NO_ZERO_DATE、EXPLICIT_DEFAULTS_FOR_TIMESTAMP 等會改變預設行為| 格式類型 | 範例 | 說明 |
|---|---|---|
| 字串標準 | '2014-06-18 14:54:10' | 間隔符任意:-, /, ., :, 空格 |
| 字串無分隔 | '20140618145410' | 14/12/8/6 位數字自動解析 |
| 數值格式 | 20140618145410 | 同字串無分隔,不加引號 |
| 兩位年份 | '14-06-18 14:54:10' | 00-69 → 2000-2069, 70-99 → 1970-1999 |
ALLOW_INVALID_DATES:允許存入無效日期(如 2014-02-30)| 業務場景 | 推薦型別 | 理由 |
|---|---|---|
| 建立/更新時間戳記 | TIMESTAMP | 自動維護、時區感知 |
| 用戶生日、證件有效期 | DATE | 語義精確、無時區困擾 |
| 歷史事件、考古記錄 | DATETIME | 範圍涵蓋 |
| 每日固定排程時間 | TIME | 語義匹配 |
| 統計年份欄位 | YEAR | 1 byte 極致省空間 |
| 高頻寫入、大量資料 | TIMESTAMP | 4 bytes 節省空間、IO |
| 需保留 2038 年後資料 | DATETIME | 避免 2038 年問題 |