När en fil laddas, förväntar MySQL att den har samma antal kolumner som destinationstabellen, om du inte anger annat, även om den saknade kolumnen har ett standardvärde. Så ange en kolumnlista till din LOAD
sats och en bokstavlig 1 för värdet på 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)
Du kan också göra det med en SET
klausul:
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