这就是问题所在。
首先,我在MySQL中创建了一个数据库
CREATE TABLE Users (User TEXT, Pass TEXT, ID TEXT, RegDate TEXT, Email TEXT, Rank TEXT);
我现在有这个数据库
+-----------+------------------+------------+----------+-------------------+------------+
| User | Pass | ID | RegDate | Email | Rank |
+-----------+------------------+------------+----------+-------------------+------------+
我使用
导入了一个csv文件(Users.csv)(UTF-8,PlainText)load data local infile 'Users.csv' into table Users fields terminated by ',' enclosed by '"' lines terminated by '\n';
该文件的内容是
arinerron,asdfasdf,USR0000001,92082015,arinesaugmail,Owner
looy,asdfasdf,USR0000002,92082015,tjesaugmail,User
mooncat39,marsisawesome,USR0000003,92082015,harveyfamilygmail,Owner
Goldy,foxythepirate777,USR0000004,92082015,goldyftwgmail,User
Reid,reidyreid,USR0000005,92082015,reidgmail,Moderator
Bo,bobobobo,USR0000006,92082015,bobogmail,Moderator
它的回应是
Query OK, 6 rows affected (0.00 sec)
Records: 6 Deleted: 0 Skipped: 0 Warnings: 0
我运行了命令
SELECT * from Users
我得到了这个回复
+-----------+------------------+------------+----------+-------------------+------------+
| User | Pass | ID | RegDate | Email | Rank |
+-----------+------------------+------------+----------+-------------------+------------+
|erron | asdfasdf | USR0000001 | 92082015 | arinesaugmail | Owner
| | asdfasdf | USR0000002 | 92082015 | tjesaugmail | User
|cat39 | marsisawesome | USR0000003 | 92082015 | harveyfamilygmail | Owner
| | foxythepirate777 | USR0000004 | 92082015 | goldyftwgmail | User
|Reid | reidyreid | USR0000005 | 92082015 | reidgmail | Moderator
| Bo | bobobobo | USR0000006 | 92082015 | bobogmail | Moderator |
+-----------+------------------+------------+----------+-------------------+------------+
它出了什么问题?为什么格式不正确? Rank列也搞砸了
我一遍又一遍地重复这些步骤但没有成功。我真的需要尽快解决这个问题。非常感谢!
答案 0 :(得分:6)
您的文件具有Windows CR-LF行结尾,而不是Unix LF行结尾。所以Rank
字段最后都有一个CR字符。所以正在发生的事情是最后一个字段被打印为:
Owner<cr><spaces>|
<cr>
返回到同一行的开头,然后打印多个空格和|
。这会覆盖User
字段的开头。
使用
LINES TERMINATED BY '\r\n'
或者在加载文件之前使用dos2unix
删除文件中的所有CR字符。
答案 1 :(得分:1)
值得一提的是,user
是一个关键字,可能会导致意外行为,而且您的文件内容不是enclosed by '"'
。
根据OP的要求发布此处。