sql >> Databasteknik >  >> RDS >> Mysql

Ladda data i filens standardvärde infogas inte i tabellen

När en fil laddas, förväntar MySQL att den har samma antal kolumner som destinationstabellen, om du inte anger annat, även om den saknade kolumnen har ett standardvärde. Så ange en kolumnlista till din LOAD sats och en bokstavlig 1 för värdet på 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 också göra 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. Läsarlösningar på Special Islands-utmaningen

  2. Viloläge namnstrategi ändra tabellnamn

  3. Hur man hanterar en enskild offert i Oracle SQL

  4. Varför börjar tabellnamn i SQL Server med dbo?