sql >> Databasteknik >  >> RDS >> Mysql

Laddar .txt-fil med fast bredd, mellanslagsavgränsad till mySQL

Dessa är vad vi kallar "fixed-width"-skivor och LOAD DATA spelar inte bra med dem. Alternativ:

  1. Rensa först upp data i Excel, eller
  2. Ladda upp data till en temporär tabell med bara en kolumn, skjut in en hel textrad i den kolumnen. Sedan kan du använda SUBSTR() och TRIM() för att dela ut de kolumner du behöver i sluttabellen.
  3. Eller med användarvariabler (@row) kan du göra allt inom LOAD DATA-satsen.
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))
;


  1. ORA-08177:kan inte serialisera åtkomst för denna transaktion

  2. Ett annat sätt att förbättra SQL-frågan för att undvika förening?

  3. Hur man infogar flera värden i en tabell i php

  4. Inkonsekvent Transponering