sql >> Database >  >> RDS >> Mysql

MySQL laadt NULL-waarden uit CSV-gegevens

Dit zal doen wat je wilt. Het leest het vierde veld in een lokale variabele en stelt vervolgens de werkelijke veldwaarde in op NULL, als de lokale variabele een lege string bevat:

LOAD DATA INFILE '/tmp/testdata.txt'
INTO TABLE moo
FIELDS TERMINATED BY ","
LINES TERMINATED BY "\n"
(one, two, three, @vfour, five)
SET four = NULLIF(@vfour,'')
;

Als ze allemaal mogelijk leeg zijn, zou je ze allemaal in variabelen kunnen lezen en meerdere SET-instructies hebben, zoals deze:

LOAD DATA INFILE '/tmp/testdata.txt'
INTO TABLE moo
FIELDS TERMINATED BY ","
LINES TERMINATED BY "\n"
(@vone, @vtwo, @vthree, @vfour, @vfive)
SET
one = NULLIF(@vone,''),
two = NULLIF(@vtwo,''),
three = NULLIF(@vthree,''),
four = NULLIF(@vfour,'')
;


  1. Wat is databasetesten en hoe voer je het uit?

  2. Een lijst met beschikbare tekensets retourneren in MySQL

  3. Samenvoegen tussen tabellen in twee verschillende databases?

  4. Hoe cast ik char naar integer terwijl ik een query doe in django ORM?