Разбивка по линиям в LOAD DATA LOCAL INFILE
Есть CSV файл такого вида:
id;sku;desc
354;FEM65009D;<ul>
<li>One</li>
<li>Two</li>
<li>Three</li>
</ul>
Я помещаю этот файл в БД таким образом LOAD DATA LOCAL INFILE '{$import_file}' INTO TABLE {$table_name} FIELDS TERMINATED BY ';' ESCAPED BY '\"' LINES TERMINATED BY '\n' IGNORE 1 LINES (".implode(",", $temp_lines).") и получается так, что следуя условию в БД записывается все это следующим образом id = 354; sku = FEM65009D; desc = <ul>. После тэга <ul> идет перенос строки и это считается как новая линия (LINES TERMINATED BY '\n').
Можно ли как-то сделать, чтоб LINES TERMINATED отсекал линии по определенному кол-во столбцов FIELDS TERMINATED? Например у меня есть 3 столбца(id;sku;desc), вот после записи этих 3ех столбцов должна быть новая линия.
Ответы (1 шт):
Вопрос снят, нужно было добавить еще параметр ENCLOSED BY с таким же значение как и ESCAPED BY. Запрос целиком: LOAD DATA LOCAL INFILE '{$import_file}' INTO TABLE {$table_name} FIELDS TERMINATED BY ';' ESCAPED BY '\"' ENCLOSED BY '\"' LINES TERMINATED BY '\n' IGNORE 1 LINES (".implode(",", $temp_lines).")