sql >> Base de Datos >  >> RDS >> Mysql

¿Cambiar una zona horaria de MySQL cambiará los valores de los campos DateTime en una base de datos?

En principio no debería. Hay varias razones por las que no debería cambiar, según el tipo de valores:principalmente DATETIME y TIMESTAMP.

Los valores DATETIME nunca se convierten, por lo que son independientes de la zona horaria.

Los valores de TIMESTAMP se convierten (cita directa del manual aquí --- Supongo que tiene una versión bastante reciente de MySQL) "de la zona horaria actual a UTC para el almacenamiento, y de UTC a la zona horaria actual para la recuperación. (Esto no ocurre para otros tipos como DATETIME.) De forma predeterminada, la zona horaria actual para cada conexión es la hora del servidor. La zona horaria se puede configurar por conexión. Mientras la configuración de la zona horaria permanezca constante, usted recuperar el mismo valor que almacenó. Si almacena un valor TIMESTAMP y luego cambia la zona horaria y recupera el valor, el valor recuperado es diferente del valor que almacenó. Esto ocurre porque la misma zona horaria no se usó para la conversión en ambas direcciones." (de http://dev.mysql.com/doc/refman /5.5/en/datetime.html ).

Entonces, en ambos casos, los datos realmente almacenados en el servidor no cambian (que es como debería ser), pero los valores que mostrarán sus consultas pueden ser diferentes antes y después.