У меня много CSV-файлов, которые мне нужно вставить. в базу данных MySQL, используя «загрузку в файл», это делается очень быстро и легко.
Однако он застревает в одном разделе:
Пример строки CSV:
ABSOLUTE, Гленн, Анаки, «Cool Synd, Super Cool»
Я использую следующий код:
Код: Выделить всё
$q = "load data infile '$file' into table $table
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '\"'
LINES TERMINATED BY '\n';";
mysql_query($q, $db);
Я пробовал переключать порядок завершения полей и opt, заключенных в команды. Попробовал просто сделать это ENCLOSED BY. Попробовал не экранировать ", также /"/", попробовал использовать две одинарные кавычки вместо двойной; но я все еще не могу понять, что я хочу, чтобы "Cool Synd, Super Cool" было одним полем.
Кто-нибудь знает, что я здесь делаю не так?
Вот структура моей таблицы:

Я просто добавляю сюда все свои данные, затем обрабатываю их и перемещаю поля в соответствующие таблицы в правильный формат. Столбец с проблемой - «Владелец».
Я изменил его на текстовый тип вот так. было решением для других, но оно работает одинаково, будь то текст, символ, varchar и т. д.
(Работа на сервере Ubuntu 14.4, Apache/2.4.7 , PHP 5.5.9)
Подробнее здесь: https://stackoverflow.com/questions/354 ... s-expected
Мобильная версия