Maison >base de données >tutoriel mysql >Comment stocker des horodatages de précision en millisecondes dans MySQL ?

Comment stocker des horodatages de précision en millisecondes dans MySQL ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-02 09:06:13537parcourir

How to Store Millisecond Precision Timestamps in MySQL?

Comment enregistrer des horodatages précis à la milliseconde dans MySQL

Dans MySQL, garantir une précision d'horodatage précise est crucial pour les applications qui exigent une résolution temporelle élevée. Pour obtenir une précision à la milliseconde pour les horodatages, envisagez les étapes suivantes :

Déclarez les colonnes avec des types de données de temps fractionnaire

Pour déclarer des colonnes avec des types de données de temps fractionnaire, assurez-vous de Vous utilisez MySQL version 5.6.4 ou ultérieure. Utilisez NOW(3) pour vérifier votre version, et si vous recevez une erreur, effectuez une mise à niveau vers une version prise en charge.

Sélectionnez un type de données temporelles approprié

Pour une résolution en millisecondes, utilisez DATETIME(3). Pour une résolution en microsecondes, utilisez TIMESTAMP(6).

Exemple de déclaration

CREATE TABLE IF NOT EXISTS probabilité` (<br>id int(11) NON NULL AUTO_INCREMENT,<br>segment_id int(11) NON 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>< /pre>`</p>
<p><strong>Convertir Millisecondes en DATETIME(3)</strong></p>
<p>Pour convertir un nombre de millisecondes depuis l'époque Unix en une valeur DATETIME(3), utilisez l'expression suivante :</p>
<p>`<pre class="brush:php;toolbar:false">FROM_UNIXTIME (MS * 0.001)<br>
`

Envisagez de mettre à niveau pour une précision temporelle inférieure à la seconde

Si vous utilisez une ancienne version de MySQL et avez besoin d'une précision temporelle inférieure à la seconde, une mise à niveau est recommandée. L’utilisation de solutions de contournement peut introduire des complexités. Cependant, si la mise à niveau n'est pas réalisable, envisagez de stocker les horodatages sous forme de nombres dans les colonnes BIGINT ou DOUBLE, en utilisant l'expression de conversion :

`

FROM_UNIXTIME(col * 0.001)<br>
`

En suivant ces directives, vous pouvez stocker et récupérer efficacement des horodatages avec une précision de la milliseconde dans MySQL, garantissant la précision temporelle de vos applications.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn