2017-04-27 64 views
0

我正在尝试加载数据infil从一个.csv文件的mysql中,其中一列有一个链接到我的电脑上的文件夹。我已经制定了能够让Mysql读取c:\我需要使用2个正斜杠c:\并在文本末尾放置一个。然而,它现在将”放在文本的开头,将只加载一行.csv。是否有人有任何提示可以用来修复这个问题我想从.csv加载mysql中的数据infile

+0

你需要尝试反引号代替双引号如:“价值” –

+0

你有表结构,CSV文件,您的命令采样线? –

回答

0

这里是一个CSV文件例如 -

1,c:\\ 
2,c:\\dir 
3,c:\\new dir 

这是导入数据的表格 -

CREATE TABLE table1 (
    id int(11) NOT NULL AUTO_INCREMENT, 
    path varchar(255) DEFAULT NULL, 
    PRIMARY KEY (id) 
); 

,这是我们LOAD DATA查询 -

LOAD DATA LOCAL INFILE 'path.txt' INTO TABLE table1 
    FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n'; 

输出 -

SELECT * FROM table1; 
1 c:\ 
2 c:\dir 
3 c:\new dir 
+0

嗨感谢。 – brayn5

0

嗨感谢amswering这 下面是该.csv文件的格式

\N 1 Copper Red Dish 001 Shallow Copper Red dish f 450 50cm diame c:\\catalog\\bcpot020.jpg, 
\N 1 Copper Red Bottle 001 Copper Red bottle form.  550 60cm tall c:\\catalog\\bcpot003.jpg, 
\N 10 Chun bowl 001 Blue Chun bowl with tea s 350 20 cm diam c:\\catalog\\bcpot006.jpg, 
\N 2 Moonscape bowl 001 High Calcium bowl with wh 320 40cm diame c:\\catalog\\bcpot009.jpg, 
\N 3 Crystalline bowl 001 Blue Green Crystalline gl 250 20 cm diam c:\\catalog\\bcpot013_thumb.jpg, 

这是SQL文件运行到MySQL

SET foreign_key_checks = 0; 
USE BazzaarCeramics_db; 
    LOAD DATA LOCAL INFILE 'C:\\Data\\Product.csv' 
    INTO TABLE Product 
    FIELDS TERMINATED BY ',' 
    LINES TERMINATED BY 'r\N' 
    (`ProductID`,`ProductGlazeTypeCode`,`ProductTitle`,`ProductDescription`,`ProductPrice`,`ProductSize`,`ProductRelativePath`); 
SET foreign_key_checks = 1; 

这就是我运行它时返回的结果。

21 1 Copper Red Dish 001 Shallow Copper Red dish f 450.00 50cm diame "c:\catalog\bcpot020.jpg 

注意“在 地址的开始。我得到这个,如果我打一个逗号,在地址的结尾。如果我不这样做的逗号它把一个N处的结束地址。

希望这有助于

+0

正如我所看到的,行分隔符是','+新行(\ n或\ r \ n)。字段分隔符不同 - 随机空格。这不是一个CSV文件。 – Devart