Quando si carica un file, MySQL si aspetta che abbia lo stesso numero di colonne della tabella di destinazione, a meno che non specifichi diversamente, anche se la colonna mancante ha un valore predefinito. Quindi fornisci un elenco di colonne al tuo LOAD
istruzione e un letterale 1 per il valore di 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)
Puoi farlo anche con un SET
clausola:
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