我试图导入包含以下内容的文本文件:
使用命令
进入我的数据库加载数据本地infile'C:/Users/Gary/Desktop/XML/jobs.txt'INTO表作业字段以'\ t'终止;
但我一直得到错误第1-13行不包含所有列的数据
答案 0 :(得分:1)
我遇到了同样的问题。我如何解决这个问题:
- 华友世纪,它解决了我的问题。
以下网址也可以帮助您解决问题。 http://www.thoughtspot.com/blog/5-magic-fixes-most-common-csv-file-problems
答案 1 :(得分:0)
听起来像加载数据本地infile期望看到每列的值。
您可以手动编辑文件(删除这些行 - 可以是空行),也可以创建临时表,将行插入单个列,然后编写mysql命令以拆分选项卡上的行并将值插入目标表
答案 2 :(得分:0)
确保每行的最后一个字段以\ t结尾。或者,使用LINES TERMINATED BY
LOAD DATA LOCAL INFILE 'C:/Users/Gary/Desktop/XML/jobs.txt' INTO TABLE jobs COLUMNS TERMINATED BY '\t' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\r';
\r
是一个回车符,类似于换行符(即\n
)
答案 3 :(得分:0)
如果您使用的是Windows,请确保按照mariadb docs的说明使用LINTER TERMINATED BY \ r \ n
答案 4 :(得分:0)
确保任何字段的末尾都没有“ \”。在被视为文本的csv中,它看起来像“ \”,这显然是不可以的,因为该逗号将被忽略,因此您将没有足够的列。
(这主要适用于您没有在每个字段周围都加引号的字段包围的情况。)