Cha*_*sEF 6 mysql csv phpmyadmin
我搜索并阅读了许多关于将CSV文件导入MySQL数据库的帖子/文章,phpMyAdmin 2.8.0.1并且它们使声音如此简单,实际上并非如此.我没有做任何事情.
我有一个有2列的表,都定义为NOT NULL.主索引配置为使用两个列.我有很多CSV文件要导入,但我先从小文件开始.以下是我的CSV数据文件示例:
type description
T Antarctic Territory
T Dependency
T Independent State
T Proto Dependency
T Proto Independent State
Run Code Online (Sandbox Code Playgroud)
导入只有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).
Run Code Online (Sandbox Code Playgroud)
谁能看到我哪里出错了?我花了几天时间研究和尝试不同的东西,但我已经准备好抛出phpMyAdmin了.
Bil*_*win 10
问题在于LOCAL.在这种情况下,有两个"本地"概念.您可能意味着CSV文件位于运行浏览器访问phpMyAdmin的工作站上.
但该LOAD DATA LOCAL INFILE语句正在运行phpMyAdmin的Web服务器上运行.所以它正在寻找Web服务器上的文件.当我尝试这个时,我得到phpMyAdmin的错误输出:
#7890 - Can't find file '/Users/billkarwin/t.csv'.
Run Code Online (Sandbox Code Playgroud)
您可以尝试使用phpMyAdmin的导入功能.
小智 5
以下步骤对我有用。
将文件导入到虚拟数据库(即不选择任何数据库)。
点击导入并选择要加载数据的相应 CSV 文件。
phpMyadmin 将创建一个数据库和一个适当的表来保存数据。
点击导出并选择 SQL 格式
您将下载一个 SQL 文件。
该文件将具有适当的查询来将数据插入到表中。
确保更改默认表名称和列名称以匹配您的表名称和列名称。