Задавайте вопросы, мы ответим
Вы не зашли.
Есть следующая проблемная ситуация.
1) Имеем csv файл 1.csv такого вида:
"col1","col2","col3"
"111","333","eee"
"111","333","eee"
Суть в том, что значения последнего столбца должны быть взяты в кавычки.
2) Имеем таблицу:
CREATE TABLE `test`.`colt` (
`col1` TEXT NULL COMMENT '',
`col2` TEXT NULL COMMENT '',
`col3` TEXT NULL COMMENT '');
Выполняем инструкцию
LOAD DATA INFILE 'D:/1.csv' INTO TABLE colt COLUMNS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' ESCAPED BY '"' LINES TERMINATED BY '\n' IGNORE 1 LINES
Выпадает исключение:
Error Code: 1262. Row 1 was truncated; it contained more data than there were input columns
Сочетание кавычка + переход на новую строку похоже воспринимается как некий особый символ
В случае если последнее значение без кавычек, например
"col1","col2",col3
"111","333",eee
"111","333",eee
Все прекрасно работает.
Сейчас мне приходится искусственно добавлять лишний фейковый столбец без кавычек во все файлы. Как это побороть нормально?
Отредактированно sleep (31.07.2015 13:21:40)
Неактивен
Попробуйте убрать ESCAPED BY '"' из запроса
Неактивен