Maison >développement back-end >tutoriel php >Horodatages MySQL : pourquoi manquent-ils de précision à la microseconde ?

Horodatages MySQL : pourquoi manquent-ils de précision à la microseconde ?

DDD
DDDoriginal
2024-10-30 01:24:03780parcourir

 MySQL Timestamps: Why Do They Lack Microsecond Precision?

Les horodatages dans MySQL : pourquoi cette frustration ?

Pour de nombreux développeurs, le manque de précision de MySQL au-delà des secondes dans les champs TIMESTAMP peut être un désagrément majeur . Cette limitation entrave les applications qui nécessitent un timing précis, telles que celles impliquant des microsecondes.

Doctrine et le problème de précision de l'horodatage

Lors de l'utilisation de Doctrine avec MySQL, les actAs : [Timestampable ] La propriété permet aux utilisateurs de stocker des horodatages. Cependant, comme l'a découvert l'affiche originale, Doctrine attribue l'heure actuelle au champ sans préserver les microsecondes. Cela peut être problématique pour les applications qui s'appuient sur des horodatages de haute précision.

Options de solution de contournement

  • Champ BIGINT : Stockage des horodatages en tant que BIGINT Les champs peuvent conserver une précision à la milliseconde, mais cela nécessite une manipulation manuelle des valeurs et peut affecter les fonctions de manipulation de date SQL.
  • Extension UDF : Des fonctions définies par l'utilisateur (UDF) personnalisées peuvent être compilées pour étendre les fonctions définies par l'utilisateur (UDF) de MySQL. fonctionnalités, y compris la précision de l’horodatage. Cependant, cette approche n'est pas recommandée car elle nécessite une maintenance cohérente et est susceptible de changer de version.

MySQL 5.6.4 et au-delà : une solution

Heureusement , MySQL version 5.6.4 a introduit la prise en charge des fractions de seconde avec une précision allant jusqu'à la microseconde dans les valeurs TIME, DATETIME et TIMESTAMP. Cette mise à jour fournit les fonctionnalités indispensables sans les limitations des solutions de contournement.

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