sql >> Database >  >> RDS >> Mysql

Laad data infile standaardwaarde niet invoegen in tabel

Bij het laden van een bestand verwacht MySQL dat het hetzelfde aantal kolommen heeft als de doeltabel, tenzij u anders opgeeft, zelfs als de ontbrekende kolom een ​​standaardwaarde heeft. Geef dus een kolomlijst aan uw LOAD statement, en een letterlijke 1 voor de waarde van 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)

Je kunt het ook doen met een SET clausule:

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. Getallen opmaken als valuta in PostgreSQL

  2. Is er een Spring Batch 3-upgradescript voor MySQL?

  3. Wijzig de MySQL-tabel om opmerkingen over kolommen toe te voegen

  4. Retourneer een lijst met tabellen en weergaven in SQL Server met behulp van T-SQL (sp_tables)