LOAD DATA LOCAL INFILE не собирает все значения в файле CSV

Вопрос:

Я пытаюсь загрузить CSV файл в MySQL через командную строку, но многие значения просто не появляются. Вот мой запрос:

LOAD DATA LOCAL INFILE '/Users/zachsmith/Dropbox/1_computer_business/2014_MSc/assignments/databases/CSCresults_no_headers.CSV' INTO TABLE Temp FIELDS TERMINATED BY ',' ENCLOSED BY '"' (Year, StudentID, Degree, CourseCode, CourseDescrip, Session, Code, Percent, Symbol, Gender, SAstatus, ForeignCountry);

и добавление выглядит следующим образом:

mysql> select * from Temp
-> ;
+------+-----------+--------+-------------+--------------------------------+--------------+------+---------+--------+--------+----------+-----------------------------+
| Year | StudentID | Degree | CourseCode  | CourseDescrip                  | Session      | Code | Percent | Symbol | Gender | SAstatus | ForeignCountry              |
+------+-----------+--------+-------------+--------------------------------+--------------+------+---------+--------+--------+----------+-----------------------------+
| EB022  | CSC1015F    | Computer Science 1015          | Semester One | UGRD |      83 | 1      | M      | F        | Tanzania
| EB022  | CSC1016S    | Computer Science 1B            | Semester Two | UGRD |      60 | 2-     | M      | F        | Tanzania
| SB006  | CSC1010H    | Compass I -CompScAcadAssProg   | Full Year    | UGRD |      48 | SF     | M      | F        | Tanzania
| SB006  | CSC1015F    | Computer Science 1015          | Semester One | UGRD |      26 | F      | M      | F        | Tanzania
|001  | CSC6000W    | PhD in Computer Science        | Full Year    | DOCT |       0 |        | M      | F        | Sudan
| SB006  | CSC1010H    | Compass I -CompScAcadAssProg   | Full Year    | UGRD |      56 | 3      | M      | F        | Tanzania
| SB006  | CSC1015F    | Computer Science 1015          | Semester One | UGRD |      41 | F      | M      | F        | Tanzania
|| CSC1010H    | Compass I -CompScAcadAssProg   | Full Year    | UGRD |      64 | SP     | M      | C        |
|| CSC3002F    | Computer Science 302           | Semester One | UGRD |      70 | 2+     | M      | C        |
|| CSC3003S    | Computer Science 303           | Semester Two | UGRD |      70 | 2+     | M      | C        |
|| CSC3002F    | Comput

Многие вещи просто вырезаны – как даты и идентификатор студента (это фиктивные данные) и даже половина кода степени в 5-й строке…

все поля – varchar (30), поскольку я просто буду рассматривать все как строку. Почему это?

Я посмотрел на Excel, и он забирает все

Ответ №1

Попробуйте открыть файл csv с помощью текстового редактора. Посмотрите на это, если поля действительно TERMINATED BY ',' ENCLOSED BY '"' и каждый столбец соответствует тому же полю в таблице Temp. Помните, что если поле CSV остается без значения в нем, оно все равно должно быть заключено двойными кавычками "".

Оцените статью
TechArks.Ru
Добавить комментарий