【发布时间】:2014-07-12 00:24:47
【问题描述】:
我已经搜索并阅读了许多关于使用phpMyAdmin 2.8.0.1 将 CSV 文件导入 MySQL 数据库的帖子/文章,它们听起来很简单,实际上并非如此。我所做的一切都无法正常工作。
我有一个包含 2 列的表,均定义为 NOT NULL。主索引配置为使用两列。我有许多 CSV 文件要导入,但我先从小文件开始。这是我的 CSV 数据文件的示例:
type description
T Antarctic Territory
T Dependency
T Independent State
T Proto Dependency
T Proto Independent State
只有 17 行要导入,但通常会插入 0 行,有时会插入 1 行,但格式错误。我的意思是第 1 列是空白的,第 2 列包含两列的数据,顺序错误。这是我的导入尝试生成的 SQL:
LOAD DATA LOCAL INFILE '/var/php_sessions/uploads/phpiptDPV' REPLACE INTO TABLE `country_types`
FIELDS TERMINATED BY '\t'
LINES TERMINATED BY '\r\n'
IGNORE 1
LINES (
`type` ,
`description`
)# MySQL returned an empty result set (i.e. zero rows).
谁能看出我哪里出错了?我花了几天时间研究和尝试不同的东西,但我已经准备好扔掉 phpMyAdmin。
【问题讨论】:
-
似乎代码块没有正确显示。我的 CSV 是制表符分隔的,所以我在导入过程中使用了 \t。
-
您的数据似乎是制表符分隔的,而不是逗号分隔的。您能确认一下吗?
-
是的,CSV 文件是 TAB 分隔的。
-
我发现了我的问题。 Excel 2003 生成的 CSV 文件在第一行的开头有一些奇怪的字符。我看不到它们,但它们出现在 SQL 导入错误消息中。我创建了一个新的 CSV 文件并将数据复制过来,然后导入工作。
标签: mysql csv phpmyadmin