Pregunta

Tengo un poco de datos de proveedores que tiene el SOH (caracteres ASCII 1) como delimitador de campo y STX (caracteres ASCII 2) como el delimitador de registro. Es posible cargar estos datos con LOAD DATA INFILE sin pre-procesamiento del archivo y la sustitución de esos personajes con algo más común?

¿Fue útil?

Solución

lo tengo.

LOAD DATA LOCAL INFILE 'myfile.txt' INTO TABLE my_table 
    CHARACTER SET UTF8 
    FIELDS TERMINATED BY X'01'
    LINES TERMINATED BY X'02'
    (col1, col2, col3);

Otros consejos

Usted puede tratar de FIELDS TERMINATED BY _ascii 0x02. No sé si va a trabajar para LOAD DATA INFILE, pero funciona en SELECT (es decir, los rendimientos SELECT _ascii 0x61 'a').

Si está utilizando mysqlimport el formato de valores hexadecimales en los campos-terminado por líneas y terminado en-ETC es:

mysqlimport --local user = nombre de usuario --password = --ignore líneas secretas = 4 --default-character-set = --fields terminados por UTF8 = 0x01 --lines-terminados-by = 0x02 --verbose databasename thefiletoimport

Usted puede tratar simplemente enviar el carbón ASCII directamente dentro de la cadena literal .. si su conexión no tiene un conjunto de caracteres o la codificación asignados, a continuación, MySQL puede aceptar simplemente como una cadena válida. Habría que hacerlo a través de una conexión de red, o los datos de tuberías para el cliente mysql. No creo que va a ser capaz de escribir en la que en una consola.

  

Campos TERMINATED POR X'01'

funciona para mí

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top