Mysql
 sql >> Base de données >  >> RDS >> Mysql

La modification d'un fuseau horaire MySQL modifiera-t-elle les valeurs des champs DateTime dans une base de données ?

En principe, ça ne devrait pas. Il existe plusieurs raisons pour lesquelles cela ne devrait pas changer, selon le type de vos valeurs :principalement DATETIME et TIMESTAMP.

Les valeurs DATETIME ne sont jamais converties, elles sont donc indépendantes du fuseau horaire.

Les valeurs TIMESTAMP sont converties (citation directe du manuel ici --- je suppose que vous avez une version assez récente de MySQL) "du fuseau horaire actuel vers UTC pour le stockage, et de retour de UTC vers le fuseau horaire actuel pour la récupération. (Ce ne se produit pas pour les autres types tels que DATETIME.) Par défaut, le fuseau horaire actuel pour chaque connexion est l'heure du serveur. Le fuseau horaire peut être défini pour chaque connexion. Tant que le paramètre de fuseau horaire reste constant, vous récupérez la même valeur que vous avez stockée. Si vous stockez une valeur TIMESTAMP, puis modifiez le fuseau horaire et récupérez la valeur, la valeur récupérée est différente de la valeur que vous avez stockée. Cela se produit car le même fuseau horaire n'a pas été utilisé pour la conversion dans les deux directions." (de http://dev.mysql.com/doc/refman /5.5/fr/dateheure.html ).

Ainsi, dans les deux cas, les données réellement stockées sur le serveur ne changent pas (ce qui est normal), mais les valeurs que vos requêtes afficheront peuvent être différentes avant et après.