2010-03-30 19 views
0

Je voudrais stocker la valeur "2010-03-26 10:13:04 Etc/GMT" dans la colonne de type datetime.Comment stocker "2010-03-26 10:13:04 Etc/GMT" mysql?

Lorsque je tente d'insérer je suis arrivé exception:

SQLException: Vous avez une erreur dans votre syntaxe SQL; consultez le manuel qui correspond à votre version du serveur MySQL pour la bonne syntaxe à utiliser à proximité '10: 13: 04 Etc/GMT », à la ligne 1

Comment insérer le temps de données avec le fuseau horaire.

Répondre

0
  1. vous devez utiliser la colonne datetime, si la valeur doit être 2010-03-26 10:13:04 sans aucune indication de fuseau horaire
  2. Toute chaîne littérale doit être délimitée par ou par des guillemets

donc, la requête doit être ressembler à

INSERT INTO table set dtime='2010-03-26 10:13:04'; 
0

Les formats date/heure de MySQL ne prennent pas en charge les fuseaux horaires. Vous devez "normaliser" l'heure à un fuseau horaire spécifique (généralement UTC ou le fuseau horaire dans lequel se trouve le serveur), ou stocker le fuseau horaire dans un champ différent et calculer les décalages par vous-même.

Découvrez l'alternative présentée dans cette entrée de blog: Storing Times in mySQL c'est un peu daté mais je pense que ce qu'il dit s'applique toujours. Apparemment, Wordpress stocke les heures locales et GMT dans deux champs DATETIME différents.

connexes: