Importer un fichier csv --> LOAD DATA INFILE
Bonjour à tous,
J'essaye d'importer un fichier au format csv dans une table mysql.
Voici mon code sql:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
CREATE DATABASE `Communes` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
USE `Communes`;
CREATE TABLE `communes` (
`id` INT PRIMARY KEY AUTO_INCREMENT,
`nom` VARCHAR( 80 ) NOT NULL ,
`nom_majuscule` VARCHAR( 80 ) NOT NULL ,
`code_postal` INT( 5 ) NOT NULL ,
`code_insee` INT( 5 ) NOT NULL,
`code_region` INT( 2 ) NOT NULL,
`latitude` FLOAT( 10, 6 ) NOT NULL,
`longitude` FLOAT( 10, 6 ) NOT NULL,
`eloignement` FLOAT( 10, 6 ) NOT NULL
);
LOAD DATA LOCAL INFILE 'C:/Users/Desktop/liste_villes.csv'
INTO TABLE `communes`
FIELDS TERMINATED BY ';'
LINES TERMINATED BY '\n'; |
Voici un extrait de mon fichier csv (il s'agit des communes de france, avec leurs latitude et longitude):
Code:
1 2 3 4 5 6 7
|
"1";"L'Abergement-Clémenciat";"L ABERGEMENT CLEMENCIAT";"01400";"1001";"82";"46.15";"4.916667";"1.46"
"2";"L'Abergement-de-Varey";"L ABERGEMENT DE VAREY";"01640";"1002";"82";"46";"5.416667";"1"
"3";"Amareins";"AMAREINS";"01090";"1003";"82";"46.083333";"4.8";"1.85"
"4";"Ambérieu-en-Bugey";"AMBERIEU EN BUGEY";"01500";"1004";"82";"45.95";"5.35";"0.8"
"5";"Ambérieux-en-Dombes";"AMBERIEUX EN DOMBES";"01330";"1005";"82";"46";"4.9";"1.72"
"6";"Ambléon";"AMBLEON";"01300";"1006";"82";"45.75";"5.6";"2.01" |
Lorsque j'exécute ma requête, aucun soucis pour les champs VARCHAR, mais par contre, mes champs INT et FLOAT restent à 0, et je reçois cette magnifique erreur: "35479 row(s) affected, 64 warning(s): 1366 Incorrect integer value: '"1"' for column 'id' at row 1 1366 Incorrect integer value: '"01400"' for column 'code_postal' at row 1 1366 Incorrect integer value: '"1001"' for column 'code_insee' at row 1 1366 Incorrect integer value: '"82"' for column 'code_region' at row 1 1265 Data truncated for column 'latitude' at row 1 1265 Data truncated for column 'longitude' at row 1 1265 Data truncated for column 'eloignement' at row 1 1366 Incorrect integer value: '"2"' for column 'id' at row 2 1366 Incorrect integer value: '"01640"' for column 'code_postal' at row 2 1366 Incorrect integer value: '"1002"' for column 'code_insee' at row 2 1366...", et qui continue encore longtemps.
Pourriez vous m'expliquer le soucis svp?
J'ai également essayé d'ajouter , mais cela ne change rien.