sql >> Databasteknik >  >> RDS >> PostgreSQL

PG COPY-fel:ogiltig indatasyntax för heltal

FEL:ogiltig ingångssyntax för heltal:""

"" är inte ett giltigt heltal. PostgreSQL accepterar unquoted tomma fält som null som standard i CSV, men "" skulle vara som att skriva:

SELECT ''::integer;

och misslyckas av samma anledning.

Om du vill hantera CSV som har saker som citerade tomma strängar för nollheltal, måste du mata den till PostgreSQL via en förprocessor som kan piffa upp det lite. PostgreSQL:s CSV-indata förstår inte alla konstiga och underbara möjliga missbruk av CSV.

Alternativen inkluderar:

  • Läser in det i ett kalkylark och exporterar förnuftig CSV;
  • Använda Python csv modul, Perl Text::CSV , etc för att förbehandla det;
  • Använda Perl/Python/whatever för att ladda CSV:en och infoga den direkt i DB
  • Använda ett ETL-verktyg som CloverETL, Talend Studio eller Pentaho Kettle


  1. 2 sätt att returnera en lista med triggers i en SQL Server-databas med T-SQL

  2. Ser fram emot PGConf India 2017

  3. Hur ändrar man database_url på heroku?

  4. Stjärnschemat