Импорт шестнадцатеричных/двоичных данных в mysql

Мне нужно импортировать на сервер mysql (5.5 )набор больших данных, имеющих одно поле в виде большого двоичного объекта. Следуя примерам SELECT INTO OUTFILE и LOAD DATA INFILE, он работает [почти] нормально. Однако у меня есть проблема :сгенерированные данные в файле для BLOB имеют фактически двоичное представление. Сгенерированный файл выглядит следующим образом: (3-й столбец представляет собой BLOB-файл):

1,1,"4Vÿ"
2,1,"ª»Ì"
3,1,"Ýîÿ"
4,1,"\"3"

и импорт отлично работает для этого случая со следующим оператором sql:

LOAD DATA INFILE 'C:/temp/mysql/mysqldump.1.txt'
INTO TABLE `test_table`
  FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
  LINES TERMINATED BY '\r\n'
;

Моя проблема в том, что текст генерируется случайно. Если появляются кавычки или новая строка -или что-то еще, мне нужно будет выполнить экранирование вручную (, то есть заменить их обратной косой чертой -char ), и я хотел бы пропустить этот шаг.

Итак, мой вопрос: :есть ли способ импортировать текстовый файл в следующем формате (BLOB, хранящийся как шестнадцатеричный):

1, 1, 0x123456FF
2, 1, 0xaabbcc
3, 1, 0xddeeff
4, 1, 0x112233

с одним оператором mysql?

Обновление:Забыл упомянуть, что -попытался импортировать текстовый файл в нужном формате напрямую с помощью инструкции LOAD DATA INFILE, и в результате фактически сохранился текст «0x123456FF» в BLOB-файле таблицы.

9
задан Brian Tompsett - 汤莱恩 28 December 2015 в 18:49
поделиться