Bij het laden van een bestand verwacht MySQL dat het hetzelfde aantal kolommen heeft als de doeltabel, tenzij u anders opgeeft, zelfs als de ontbrekende kolom een standaardwaarde heeft. Geef dus een kolomlijst aan uw LOAD
statement, en een letterlijke 1 voor de waarde van STATUS
:
LOAD DATA INFILE '/var/www/names.csv'
INTO TABLE users
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES
(`name`, `type`, 1)
Je kunt het ook doen met een SET
clausule:
LOAD DATA INFILE '/var/www/names.csv'
INTO TABLE users
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES
(`name`, `type`)
SET `status` = 1