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, PerlText::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