MySQL « Лишние кавычки при импорте в базу из csv-файла

Здравствуйте! Есть проблемка...
При импорте данных из файла в MySQL, добавляются двойные кавычки к уже существующим

К примеру:
файл data.csv
1;Masha
2;Pasha
3;"Putin"

Запрос:
/** * GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2008 Benny Baumann * (http://qbnz.com/highlighter/ and http://geshi.org/) */ .php.geshi_code {font-family:monospace;} .php.geshi_code .imp {font-weight: bold; color: red;} .php.geshi_code .kw1 {color: #b1b100;} .php.geshi_code .kw2 {color: #000000; font-weight: bold;} .php.geshi_code .kw3 {color: #990000;} .php.geshi_code .co1 {color: #666666; font-style: italic;} .php.geshi_code .co2 {color: #666666; font-style: italic;} .php.geshi_code .co3 {color: #0000cc; font-style: italic;} .php.geshi_code .co4 {color: #009933; font-style: italic;} .php.geshi_code .coMULTI {color: #666666; font-style: italic;} .php.geshi_code .es0 {color: #000099; font-weight: bold;} .php.geshi_code .es1 {color: #000099; font-weight: bold;} .php.geshi_code .es2 {color: #660099; font-weight: bold;} .php.geshi_code .es3 {color: #660099; font-weight: bold;} .php.geshi_code .es4 {color: #006699; font-weight: bold;} .php.geshi_code .es5 {color: #006699; font-weight: bold; font-style: italic;} .php.geshi_code .es6 {color: #009933; font-weight: bold;} .php.geshi_code .es_h {color: #000099; font-weight: bold;} .php.geshi_code .br0 {color: #009900;} .php.geshi_code .sy0 {color: #339933;} .php.geshi_code .sy1 {color: #000000; font-weight: bold;} .php.geshi_code .st0 {color: #0000ff;} .php.geshi_code .st_h {color: #0000ff;} .php.geshi_code .nu0 {color: #cc66cc;} .php.geshi_code .nu8 {color: #208080;} .php.geshi_code .nu12 {color: #208080;} .php.geshi_code .nu19 {color:#800080;} .php.geshi_code .me1 {color: #004000;} .php.geshi_code .me2 {color: #004000;} .php.geshi_code .re0 {color: #000088;} .php.geshi_code span.xtra { display:block; }

$query = "LOAD DATA LOCAL INFILE 'data.csv' REPLACE INTO TABLE `tbl_name` FIELDS TERMINATED BY ';' LINES TERMINATED BY 'rn'";
 

В базе получаем:
1 Masha
2 Pasha
3 """Putin""" - не есть хорошо!
Как можно избавиться от лишних автоматически добавляемых кавычек к уже существующим в данных?

1 ответов


Очевидный ответ - никак.
Смотрите представление строк в mysql http://mysql.ru/docs/man/String_syntax.html
В Вашем случае необходимо привести data.csv к настоящем csv формату. То бишь экранировать кавычки (например символом обратной косой черты \ ) . А в load data infile сказать
ENCLOSED BY '' ESCAPED BY '\\'
И все загрузится как положено.