我试图从.csv加载mysql中的数据infile

时间:2017-04-27 05:47:29

标签: mysql windows csv

我正在尝试从.csv文件中加载数据infile 在mysql中,其中一列有一个指向我PC上文件夹的链接。我已经研究出能够使Mysql读取c:\我需要使用2个正斜杠c:\并在文本末尾放置一个。但是现在它在文本的开头放置一个" ,只会加载一行.csv。有没有人有任何我可以用来解决这个问题的提示

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

您好,感谢您的回复 这是.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,

这是将其运行到MYSQL

的SQL文件
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.

希望这有帮助