Lors du chargement d'un fichier, MySQL s'attend à ce qu'il ait le même nombre de colonnes que la table de destination, sauf indication contraire de votre part, même si la colonne manquante a une valeur par défaut. Fournissez donc une liste de colonnes à votre LOAD
et un littéral 1 pour la valeur de 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)
Vous pouvez aussi le faire avec un SET
clause :
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