Wenn Sie eine Datei laden, erwartet MySQL, dass sie die gleiche Anzahl von Spalten wie die Zieltabelle hat, sofern Sie nichts anderes angeben, selbst wenn die fehlende Spalte einen Standardwert hat. Geben Sie also Ihrem LOAD
eine Spaltenliste an -Anweisung und ein Literal 1 für den Wert von 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)
Sie können dies auch mit einem SET
tun Klausel:
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