Home >Database >Mysql Tutorial >How to Store Millisecond Precision Timestamps in MySQL?

How to Store Millisecond Precision Timestamps in MySQL?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-02 09:06:13542browse

How to Store Millisecond Precision Timestamps in MySQL?

How to Save Millisecond Precision Timestamps in MySQL

In MySQL, ensuring accurate timestamp precision is crucial for applications that demand high temporal resolution. To achieve millisecond precision for timestamps, consider the following steps:

Declare Columns with Fractional-Second Time Datatypes

To declare columns with fractional-second time datatypes, ensure you're using MySQL version 5.6.4 or later. Use NOW(3) to check your version, and if you receive an error, upgrade to a supported version.

Select an Appropriate Time Datatype

For millisecond resolution, use DATETIME(3). For microsecond resolution, use TIMESTAMP(6).

Example Declaration

CREATE TABLE IF NOT EXISTS probability` (<br>id int(11) NOT NULL AUTO_INCREMENT,<br>segment_id int(11) NOT NULL,<br>probability float NOT NULL,<br>measured_at DATETIME(3) NOT NULL,<br>provider_id int(11) NOT NULL,<br>PRIMARY KEY (id)<br>) ;<br>
`

Convert Milliseconds to DATETIME(3)

To convert a number of milliseconds since the Unix epoch to a DATETIME(3) value, use the following expression:

`

FROM_UNIXTIME(ms * 0.001)<br>
`

Consider Upgrading for Subsecond Time Precision

If you're using an older MySQL version and need subsecond time precision, upgrading is recommended. Using workarounds may introduce complexities. However, if upgrading isn't feasible, consider storing timestamps as numbers in BIGINT or DOUBLE columns, using the conversion expression:

`

FROM_UNIXTIME(col * 0.001)<br>
`

By following these guidelines, you can effectively store and retrieve timestamps with millisecond precision in MySQL, ensuring temporal accuracy for your applications.

The above is the detailed content of How to Store Millisecond Precision Timestamps in MySQL?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn