Convertir con una sesión UTC
SET time_zone = '+00:00';
SELECT FROM_UNIXTIME(1711972800);
SELECT UNIX_TIMESTAMP('2024-04-01 12:00:00');La primera consulta devuelve el 1 de abril de 2024 a las 12:00:00; la segunda, 1711972800 segundos. La zona horaria de la sesión influye al convertir una fecha local.
Declarar valores predeterminados
No dependas del comportamiento implícito de la primera columna TIMESTAMP, que varía según la configuración y la versión. Declara tu intención en el esquema.
CREATE TABLE events (
id BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
created_at TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
updated_at TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6)
ON UPDATE CURRENT_TIMESTAMP(6)
);No supongas el mismo límite que en MySQL
Las capacidades y los rangos de TIMESTAMP dependen de la versión de MariaDB. Consulta los rangos documentados para tu versión y prueba las fechas límite. Una guía de MySQL no garantiza el comportamiento de MariaDB.
Un timestamp de base de datos no contiene el nombre de la zona horaria original. Guárdalo aparte si la aplicación debe reconstruir una hora local, como una reunión periódica a las 09:00 en París.
Referencias
Versión en español publicada el 26 de septiembre de 2026.