为了从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结构是:
下面是文本编辑器编辑时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

)
答案 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 ''
并且您无法在任何字段中使用;
。当然你应该读到这个: