Mysql从csv创建表

时间:2018-03-29 12:31:09

标签: mysql csv

为了从csv文件创建表格,我已经关注了该链接Import CSV File Into MySQL Table 我创建表结构,它的值与每行的csv文件值不匹配的问题。 可能是什么问题?

表结构是:

  

CREATE TABLE products

     

id_p int(11)NOT NULL,

     

nom varchar(255)NOT NULL,

     

ref int(11)NOT NULL,    price十进制(10,2)NOT NULL,

     

active int(11)NOT NULL,

     

shopname varchar(255)NOT NULL,

     

id_shop_default int(11)NOT NULL,

     

id_image int(11)NOT NULL,

     

name_category varchar(255)NOT NULL,

     

price_final int(11)NOT NULL,

     

is_virtual int(11)NOT NULL,

     

downla int(11)NOT NULL,

     

sav_quantity int(11)NOT NULL,

     

badge_danger int(11)NOT NULL   )ENGINE = InnoDB DEFAULT CHARSET = latin1;

和csv结构是:

part1 part2of csv

数据库中的rasult是: enter image description here

下面是文本编辑器编辑时csv的第10行(可能是,;例如,在ligne 1中的问题是什么?



id_product;name;reference;price;active;shopname;id_shop_default;id_image;name_category;price_final;is_virtual;nb_downloadable;sav_quantity;badge_danger
1;CORRECTEUR DE PROJECTEUR NEUF... CITROEN PEUGEOT ;14.750000;1;Tracauto1950;1;1; Ampoule,Platine et divers,;0;0 ;1;0
2;ECLAIRAGE DE PLAQUE AR SEIMA 856...PEUGEOT 204 ;29.750000;1;Tracauto1950;1;2; Feu,Cabochon int/ext divers,;0;0 ;1;0
3;RACCORD D'EAU METAL 4 SORTIES...POUR PEUGEOT CITROEN RENAULT SIMCA ;7.750000;1;Tracauto1950;1;3; Bocal, Pompe lave glace,;0;0 ;1;0
4;REFRIGERATEUR DE CIRCUIT D'HUILE...CITROEN 2CV AZAM ;69.750000;1;Tracauto1950;1;4; Radiateurs,Bouchons,Joints,;0;0 ;1;0
5;VERRE DE FEU AR CLIGNOTANT...DS HY GS BX 104 204 304 504 R4 R5 R8 R10 R12... ;12.750000;1;Tracauto1950;1;5; Feu,Cabochon int/ext divers,;0;0 ;1;0
6;ETRIER DE FREIN AVANT GAUCHE  BENDIX...RENAULT R18 ;59.750000;1;Tracauto1950;1;6; Disque,Etrier,Tambour;0;0 ;1;0
7;PARE CHOC ARRIERE COTE GAUCHE...PEUGEOT SIMCA CITROEN RENAULT ;39.750000;1;Tracauto1950;1;7; Parechoc, Butoirs, Butées;0;0 ;1;0
8;T DE RACCORD DE LAVE GLACE...POUR PEUGEOT CITROEN RENAULT SIMCA ;6.750000;1;Tracauto1950;1;8; Bocal, Pompe lave glace,;0;0 ;4;0
9;JOINT METALLO ...RENAULT PEUGEOT CITROEN SIMCA PANHARD ;9.750000;1;Tracauto1950;1;9; Joint,Silentbloc,Accessoires;0;0 ;1;0




1 个答案:

答案 0 :(得分:1)

在教程中加载CSV的命令是:

LOAD DATA INFILE 'c:/tmp/discounts.csv' 
INTO TABLE discounts 
FIELDS TERMINATED BY ',' 
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 ROWS;

我注意到你的字段没有被任何引号括起来,所以你应该把load命令更改为:

LOAD DATA INFILE '/dir/dir/your_file.csv' 
INTO TABLE products
FIELDS TERMINATED BY ';' ENCLOSED BY ''  
LINES TERMINATED BY '\n'
IGNORE 1 ROWS;

这一点发生了重大变化:FIELDS TERMINATED BY ';' ENCLOSED BY ''并且您无法在任何字段中使用;。当然你应该读到这个:

https://dev.mysql.com/doc/refman/5.7/en/load-data.html