J'ai un fichier CSV, qui contient quelque chose comme le suivant :
NEW YORK, NYC
LOS ANGELES, LA
Cependant, il existe un cas particulier qui est
WASHINGTON,DC, DC
Comme il y a deux virgules dans le cas de Washington, je ne peux pas charger le fichier dans la base de données correctement puisque la table n'a que deux colonnes. Je ne veux pas utiliser de code java pour vérifier que chaque ligne contient plus d'une virgule et modifier la ligne washington pour qu'elle soit "WASHINGTON, DC", DC.
Je me demande s'il existe un moyen de réécrire mon ancienne requête LOAD DATA pour gérer ce cas particulier ?
Résultat incorrect actuel :
+--------+--------------+
| value | mapped_value |
+--------+--------------+
| NEW YORK | NYC |
| LOS ANGELES | LAX |
| WASHINGTON | DC |
+--------+--------------+
Le résultat attendu devrait ressembler à ceci :
+--------+--------------+
| value | mapped_value |
+--------+--------------+
| NEW YORK | NYC |
| LOS ANGELES | LAX |
| WASHINGTON,DC | DC |
+--------+--------------+
Requête de table :
CREATE TABLE city_map (value varchar(255) , mapped_value varchar(255));
Ma requête actuelle "LOAD DATA LOCAL INFILE" est la suivante :
LOAD DATA LOCAL INFILE '/tmp/city.csv' INTO TABLE city_map FIELDS\n TERMINATED BY ',';