2010-12-13 8 views
4

je le format de date suivantMySQL Insertion valeur de date à partir d'un fichier texte

28 Aug 2010 17:40:58 +0000 

Quelqu'un peut-il suggérer comment j'obtenir cela en un type de date ou datetime lors de l'insertion dans mysql

Je suis importer du fichier de la manière suivante. Je ne suis pas sûr comment manipuler la valeur de date ainsi elle sera structurée correctement pour mysql.

Merci

+0

Je ne pense pas que vous pouvez convertir les dates à la volée. Est-ce une option pour ajouter une deuxième colonne vide à la table après l'importation et les convertir dans une requête séparée? –

+0

Yup, changer le schéma n'est pas un problème. – Steve

Répondre

2

Si cela ne vous dérange pas avec beaucoup d'avertissements et de perdre des informations sur fuseau horaire (incapable de convertir fuseau horaire), vous pouvez convertir la réponse ci-dessus à:

load data local infile 'uniq.csv' into table tblUniq ... 
(uniqName, uniqCity, uniqComments, @date_val) 
SET datetime_column=str_to_date(@date_val, '%d %b %Y %H:%i:%s'); 

OU

faire cette colonne à un varchar,
après les données de charge dans la base de données,
effectuer la mise à jour update ... set column=str_to_date(column, '%d %b %Y %H:%i:%s')
et enfin modifier le type de données de la colonne datetime

+0

merci, a travaillé un régal – Steve

2

Jetez un oeil here. Il semble qu'ils ont la solution (brièvement, l'idée est d'ajouter une variable à la liste de la colonne, puis définissez la valeur de la colonne basée sur la valeur formatée de cette variable:
load data local infile 'uniq.csv' into table tblUniq .....
(uniqName, uniqCity, uniqComments, @date_val)
SET datecolumn = date_format(str_to_date(@date_val, '%d-%M-%Y'), '%m/%d/%Y');

+0

Ne semble pas fonctionner. – Steve

Questions connexes