Convertire con una sessione UTC
SET time_zone = '+00:00';
SELECT FROM_UNIXTIME(1711972800);
SELECT UNIX_TIMESTAMP('2024-04-01 12:00:00');La prima query restituisce il 1° aprile 2024 alle 12:00:00; la seconda restituisce 1711972800 secondi. Il fuso della sessione conta quando si converte una data locale.
Dichiarare i valori predefiniti
Evita di affidarti al comportamento implicito della prima colonna TIMESTAMP, che varia secondo configurazione e versione. Dichiara l'intenzione nello schema.
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)
);Non presumere lo stesso limite di MySQL
Le capacità e gli intervalli di TIMESTAMP dipendono dalla versione di MariaDB. Consulta gli intervalli documentati per la tua versione e verifica le date limite. Una guida MySQL non garantisce il comportamento di MariaDB.
Un timestamp di database non contiene il nome del fuso orario originale. Memorizzalo separatamente se l'applicazione deve ricostruire un'intenzione locale, come una riunione ricorrente alle 09:00 a Parigi.
Riferimenti
Versione italiana pubblicata il 26 settembre 2026.