2015-01-20 3 views
1

У меня проблема с загрузкой данных в определенные столбцы таблицы. Файл CSV построен динамически с идентификаторами полей по умолчанию, LAST_REFRESH, ALIAS1 и может содержать ALIAS2 to ALIAS8. Текущий CSV содержит только ALIAS1-4(MySQL) Загружать данные в определенные столбцы

Таблица MySQL содержит идентификаторы столбцов, LAST_REFRESH, ALIAS1-ALIAS8. Мой код для первого файла уже не выполнен. Код после переменных устанавливаются в:

LOAD DATA LOCAL INFILE 'C:\\temp\\\OSS001' 
INTO TABLE REJECTS (ID, REFRESH_DATE, ALIAS1, ALIAS2, ALIAS3, ALIAS4) 
FIELDS TERMINATED BY ',' 
OPTIONALLY ENCLOSED BY '"' 
LINES TERMINATED BY '\n' 
IGNORE 1 LINES 

Но, к сожалению, я до сих пор получить следующее сообщение об ошибке:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n'

Кто-нибудь знает, что я делаю неправильно?

ответ

5

Имена столбцов должны быть указаны последними. Узнайте больше об этом here.

LOAD DATA LOCAL INFILE 'C:\\temp\\\OSS001' 
INTO TABLE REJECTS 
FIELDS TERMINATED BY ',' 
OPTIONALLY ENCLOSED BY '"' 
LINES TERMINATED BY '\n' 
IGNORE 1 LINES 
(ID, REFRESH_DATE, ALIAS1, ALIAS2, ALIAS3, ALIAS4, ALIAS5, ALIAS6, ALIAS7, ALIAS8) 
+0

TNX FancyPants !!!! Это сработало – Robin

+0

Я думаю, вам, возможно, придется поймать это в своей логике приложений. Не на уровне базы данных. – fancyPants

+0

Уже сделал это. Я добавил переменную в приложение, которая group_concats поля псевдонима :) – Robin

1

Удалить столбцы:

LOAD DATA LOCAL INFILE 'C:\\temp\\\OSS001' 
INTO TABLE REJECTS FIELDS TERMINATED BY ',' 
OPTIONALLY ENCLOSED BY '"' 
LINES TERMINATED BY '\n' 
IGNORE 1 LINES 
Смежные вопросы