Importation d'un fichier CSV vers MySQL avec un format de date non standard
Lors de l'importation d'un fichier CSV dans MySQL, vous pouvez rencontrer des dates dans un format qui n'est pas compatible avec le type de données DATE, tel que "31-Jan-2011". Pour résoudre ce problème, il est nécessaire de convertir la date lors du processus d'importation.
Une approche consiste à utiliser PHP pour effectuer la conversion avant d'insérer les données dans une table. Cependant, une option plus efficace consiste à gérer la conversion directement pendant le processus d'importation.
Pour y parvenir, vous pouvez utiliser l'instruction LOAD DATA INFILE et spécifier un format de date personnalisé. Voici un exemple :
LOAD DATA INFILE 'file_name.csv' INTO TABLE table_name FIELDS TERMINATED BY ';' LINES TERMINATED BY '\n' (id, column2, column3, @date_time_variable) -- read one of the field to variable SET date_time_column = STR_TO_DATE(@date_time_variable, '%d-%b-%Y'); -- format this date-time variable
Dans cet exemple, la fonction STR_TO_DATE est utilisée pour convertir la chaîne "31-Jan-2011" en une valeur DATETIME. Le spécificateur de format %d-%b-%Y indique à la fonction que la date d'origine est au format jour-mois-année (JJ-MM-AAAA).
En effectuant cette conversion pendant le processus d'importation , vous pouvez vous assurer que la date est stockée dans le bon format dans la base de données.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!