【发布时间】:2011-01-13 17:12:07
【问题描述】:
我正在将一个 .csv 文件导入 MySQL,一切正常,除了文件中的换行符。
我的 .csv 行之一如下所示:
42,E-A-R™ Classic™ Earplugs,ear,images/ear/classic.jpg,5%,"Proven size, shape, and foam
3M's most popular earplug
Corded and uncorded in a variety of individual packs
NRR 29 dB / CSA Class AL",312-1201,,"E-A-R™ Classic™ Uncorded Earplugs, in Poly Bag",310-1001,,E-A-R™ Classic™ Uncorded Earplugs in Pillow Pack,311-1101,,"E-A-R™ Classic™ Corded Earplugs, in Poly Bag"
第六个字段在调用时应该换行,但它没有。导入 .csv 时,我选择 Lines terminate by \r。我试过 \n 和 auto 但没有运气。
奇怪的是,该字段在数据库中看起来正确,并带有所有适当的中断。如果我手动进入 PHPmyadmin 中插入换行符,它会正确打印。每个字段也设置为 UTF-8。
对此有什么想法吗?谢谢。
编辑:这是 MySQL 语句
LOAD DATA LOCAL INFILE '/tmp/php89FC0F' REPLACE INTO TABLE `ohes_flyer_products`
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
ESCAPED BY '\\'
LINES TERMINATED BY '\r'
【问题讨论】:
-
你最初想导入什么,phpMyAdmin 还是控制台 mysql?
-
我假设您的意思是第 6 个字段,以“已验证的大小...”开头。
-
您能否也发布您使用的确切 MySQL LOAD DATA 语句?
-
我遇到了相反的问题,我从 MySql 导出数据以在 Excel 中用于报告,而包含内部换行符的字段会导致行换行,从而生成一个包含数据的新行应该包含在前一行中。我的解决方案是使用竖线 (|) 字符进行换行,并在使用前在文本编辑器中转换所有内容。
-
MySQL 语句现在在主帖中,我正在使用 phpMyAdmin 导入。
标签: php mysql line-breaks