sql >> Base de Datos >  >> RDS >> Mysql

Cargar un archivo .txt de ancho fijo y espacio delimitado en mySQL

Estos son lo que llamamos registros de "ancho fijo" y LOAD DATA no funciona bien con ellos. Opciones:

  1. Limpie primero los datos en Excel, o
  2. Cargue los datos en una tabla temporal con solo 1 columna, insertando una fila de texto completa en esa columna. Entonces puedes usar SUBSTR() y TRIM() para dividir las columnas que necesita en la tabla final.
  3. O con variables de usuario (@row) puede hacerlo todo dentro de la instrucción LOAD DATA.
LOAD DATA LOCAL INFILE 
'/some/Path/segmentation.txt' 
INTO TABLE clip
(@row)
SET slideNum = TRIM(SUBSTR(@row,1,4)),
    startTime = TRIM(SUBSTR(@row,5,13)),
    endTime = TRIM(SUBSTR(@row,18,13))
;