如何在 MySQL 中保存毫秒精度的时间戳
在 MySQL 中,确保准确的时间戳精度对于需要高时间分辨率的应用程序至关重要。要实现时间戳的毫秒精度,请考虑以下步骤:
声明具有小数秒时间数据类型的列
要声明具有小数秒时间数据类型的列,请确保您使用 MySQL 版本 5.6.4 或更高版本。使用 NOW(3) 检查您的版本,如果收到错误,请升级到受支持的版本。
选择适当的时间数据类型
对于毫秒分辨率,使用日期时间(3)。对于微秒分辨率,请使用 TIMESTAMP(6)。
声明示例
CREATE TABLE IF NOT EXISTSprobability` (<br>id int(11) NOT NULL AUTO_INCRMENT,<br>segment_id int(11) NOT NULL,<br>概率 float NOT NULL,<br>measured_at DATETIME(3) NOT NULL,<br>provider_id int(11) NOT NULL,<br>主键 (id)<br>) ;<br>`<p><strong>转换毫秒到 DATETIME(3)</strong></p><p>要将 Unix 纪元以来的毫秒数转换为 DATETIME(3) 值,请使用以下表达式:</p><p>`</p><pre class="brush:php;toolbar:false">FROM_UNIXTIME(多发性硬化症 * 0.001)<br>`
考虑升级亚秒级时间精度
如果您使用的是较旧的 MySQL 版本并且需要亚秒级时间精度,建议升级。使用解决方法可能会带来复杂性。但是,如果升级不可行,请考虑使用转换表达式将时间戳存储为 BIGINT 或 DOUBLE 列中的数字:
`
FROM_UNIXTIME(col * 0.001)<br>
通过遵循这些指南,您可以在 MySQL 中有效地存储和检索毫秒精度的时间戳,从而确保时间准确性您的应用程序。
以上是如何在MySQL中存储毫秒精度时间戳?的详细内容。更多信息请关注PHP中文网其他相关文章!