MySQL ЗАГРУЗКА ДАННЫХ INFILE Данные столбца CSV с разрывом строки - PullRequest
1 голос
/ 17 января 2020

Я хотел бы импортировать данные CSV в базу данных MySQL, ниже приведен пример данных строки моего CSV-файла:

"9C5435D89FCA5E19E0532107A8C074BD","12341234","20180411 163616","ABC","12341234;Testing data.
TestingData.","1"

Как видно, в столбце 5 есть разрыв строки (Unix EOL , то есть LF), когда я импортирую его, я получаю ERROR 1261 (01000): Row 2 doesn't contain data for all columns Ниже мой LOAD DATA INFILE

LOAD DATA INFILE '/opt/mysql/files/table.csv'  
INTO TABLE table
FIELDS TERMINATED BY ','  
ENCLOSED BY '"' 
LINES TERMINATED BY '\n' 
(@uuid,col2,@date,col4,col5,col6) 
SET col1= UUID_TO_BIN(@uuid),col4 = STR_TO_DATE(@date, '%Y%c%d %H%i%s');

Я пытался установить LINES TERMINATED BY '\r\n', но получаю еще одну ошибку ERROR 1406 (22001): Data too long for column 'col6' at row 1

Я уже указал ENCLOSED BY '"', разве это не должно предотвратить проблему, с которой я сейчас сталкиваюсь? Несмотря на то, что есть разрыв строки, но он все еще заключен в "", MySQL должен отображать это как данные столбца вместо новой строки данных, не так ли?

Есть ли способ решить это? Я не могу изменить данные в формате CSV, так как они предназначены для разрыва строки. table.csv экспортируется из Oracle DB с помощью команды spool.

...