2014-05-21 5 views
1

Я пытаюсь вставить данные (24 000 + строк) из текстового файла в таблицу MySQL. Я использую следующий Load Data Infile запрос, который считывает данные с empdump.txt & вставляет его в таблицу под названием o_master_employees в MYSQL.Загрузить данные Infile Проблема в MySQL (ошибка неправильной строки)

Запрос Is:

LOAD DATA INFILE 'empdump.txt' 
INTO TABLE o_master_employees 
FIELDS TERMINATED BY '\t' 
OPTIONALLY ENCLOSED BY '"' 
LINES TERMINATED BY '\r\n'; 

Но здесь я столкнулся с ошибкой, которая:

Incorrect string value: '\x92s MS ...' for column 'PID_DESCR' at row 101 

Я проверил с данными в столбце PID_DESCR & данные FedEX's MS Prod Support

Может у, пожалуйста, помогите мне определить, что эта ошибка составляет около &, что может быть решением ???

Заранее благодарен! :)

+0

Я не 100% это дубликат, но это может помочь: http://stackoverflow.com/questions/10457341/mysql-chokes-on-certain-characters-and-mssql-not. –

ответ

0

Если данные в UTF-8 вы можете иметь успех с

LOAD DATA INFILE 'empdump.txt' 
CHARACTER SET utf8 
INTO TABLE o_master_employees 
FIELDS TERMINATED BY '\t' 
OPTIONALLY ENCLOSED BY '"' 
LINES TERMINATED BY '\r\n'; 

(я добавил CHARACTER SET линию.)

+0

Thanx для вашего ответа ...... Я пробовал с этим запросом, но ошибка все еще остается .... На самом деле не получается, что такое «\ x92s MS ...» :( – Nik

+0

Я думаю, что происходит ошибка из-за метки одиночной кавычки в данных «Поддержка Fed Pro MS Prod» в столбце PID_DESCR. Я также попытался с помощью команды ESCAPED BY '\' в том же запросе, но не повезло .. !! – Nik

+0

\ x92s означает, что есть символ который равен 0x92 в шестнадцатеричном формате, а затем как символ. –