MySQL 為何不支援毫秒/微秒精度以及如何解決
MySQL 的TIMESTAMP 字段和支援函數僅限於秒- 級精度,僅限於秒-級精度,這讓需要更細粒度時間測量的開發人員感到沮喪。
要解決此限制,請考慮以下解決方法:
使用BIGINT 欄位:
雖然Doctrine 可能不會自動填入BIGINT 欄位中的毫秒,但您可以使用PHP 函數(例如microtime())手動計算和插入時間戳記。但是,這種方法可能與 SQL 日期操作函數不相容。
編譯 UDF 擴充:
儘管編譯 UDF 擴充可能不是一個理想的解決方案,因為更新風險,它可以提供對微秒精度的支援。
MySQL 5.6.4 中的改進
幸運的是,MySQL 版本5.6.4 引入了對小數秒的支持,最多可達TIME、DATETIME 和TIMESTAMP值的微秒精度。此增強功能有效解決了原始問題中提到的限制。
如果升級到 MySQL 5.6.4 不可行,上述解決方法可以緩解問題。但是,建議盡可能遷移到最新版本的 MySQL,以利用其改進的功能。
以上是為什麼 MySQL 缺乏毫秒/微秒精度以及如何解決它?的詳細內容。更多資訊請關注PHP中文網其他相關文章!