Как игнорировать двойные кавычки при импорте с использованием phpmyadmin? - PullRequest
1 голос
/ 06 февраля 2012

У меня есть файл, который выглядит так

"1106837", "Jabbar", "33.29106", "73.48639", "PK", "Asia/Karachi"
"1106838", "Dhangdev Saiyidān", "33.26424", "73.41412", "PK", "Asia/Karachi"
"1106839", "Dheriān", "33.255", "73.42722", "PK", "Asia/Karachi"
.
.
.

При импорте файла с использованием phpmyadmin выполняется следующая инструкция.

LOAD DATA INFILE  'C:\\wamp\\tmp\\phpC108.tmp' INTO TABLE  `allcountries` FIELDS 
TERMINATED BY  ',' ENCLOSED BY  '"' ESCAPED BY  '\\' LINES TERMINATED BY  '\r\n'(
`geonameid` ,  `place_name` ,  `lat` ,  `lng` ,  `country_code` ,  `city`

Проблема в том, что двойные кавычки ( ") также вставляются в столбцы таблицы. Мне не нужны двойные кавычки

Ответы [ 2 ]

0 голосов
/ 06 февраля 2012

Это потому, что ваши поля не заканчиваются ,, они заканчиваются , (с дополнительным пробелом в строке завершения).Попробуйте следующее:

LOAD DATA INFILE  'C:\\wamp\\tmp\\phpC108.tmp' INTO TABLE  `allcountries` FIELDS 
TERMINATED BY  ', ' ENCLOSED BY  '"' ESCAPED BY '\\' LINES TERMINATED BY  '\r\n'(
`geonameid` ,  `place_name` ,  `lat` ,  `lng` ,  `country_code` ,  `city`)
0 голосов
/ 06 февраля 2012

Удаляет пробелы из текстового файла, клиент MySQL не может их проанализировать.

"1106837", "Jabbar", "33.29106", "73.48639", "PK", "Asia/Karachi"

=>

"1106837","Jabbar","33.29106","73.48639","PK","Asia/Karachi"
...