J'ai une erreur de fuseau horaire que je dois corriger dans un tableau. Toutes les dates et heures avant l'horodatage d'unix 1253568477 doivent avoir 5 heures ajoutées à leurs valeurs pour les rendre égales à GMT.Corriger les colonnes Date et Heure dans MySQL
je les colonnes suivantes ...
date
(type de données date
), hors de -5 heures
time
(type de données time
), hors de -5 heures
timestamp
(type de données int
), cette colonne est l'heure exacte
La raison pour laquelle les fuseaux horaires sont désactivés est due à la façon dont je réglais la valeur s lors de l'insertion des lignes ...
$sql = "insert into email_opens (userid, email, serial, date, time, timestamp) values (
'$userid',
'$opened_by',
'$serial_number',
now(),
now()',
'".gmmktime()."'
)";
La valeur now()
utilisait le fuseau horaire du serveur (est) alors que la valeur spécifiée gmmktime
GMT. J'ai depuis corrigé cette requête pour toujours utiliser GMT.
Est-il possible d'ajouter 5 heures aux colonnes time
et date
pour les lignes où l'horodatage < 1253568477 dans une requête batch?
Précision:
Mon but est de mettre à jour chaque ligne incorrecte dans la table avec le temps correct en ajoutant 5 heures à chaque valeur.
J'ai mis à jour ma réponse! – inakiabt