sql >> Database teknologi >  >> RDS >> Mysql

Indlæs data i filens standardværdi indsættes ikke i tabel

Når en fil indlæses, forventer MySQL, at den har samme antal kolonner som destinationstabellen, medmindre du angiver andet, selvom den manglende kolonne har en standardværdi. Så giv en kolonneliste til din LOAD sætning og en bogstavelig 1 for værdien af ​​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 også gøre 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


  1. Sådan rettes forespørgselsgruppe med only_full_group_by

  2. Lagret procedure og tilladelser - er EXECUTE nok?

  3. MariaDB JSON_DEPTH() Forklaret

  4. Oracle PL/SQL-masseindsamling med Gem undtagelser Eksempel