sql >> Database >  >> RDS >> PostgreSQL

PG COPY-fout:ongeldige invoersyntaxis voor geheel getal

FOUT:ongeldige invoersyntaxis voor geheel getal:""

"" is geen geldig geheel getal. PostgreSQL accepteert niet-geciteerde lege velden zijn standaard null in CSV, maar "" zou zijn als schrijven:

SELECT ''::integer;

en mislukken om dezelfde reden.

Als je met CSV wilt werken met dingen als lege strings tussen aanhalingstekens voor null integers, moet je het naar PostgreSQL voeren via een pre-processor die het een beetje kan verfijnen. De CSV-invoer van PostgreSQL begrijpt niet alle vreemde en prachtige mogelijke misbruiken van CSV.

Opties zijn onder meer:

  • Het in een spreadsheet laden en een normaal CSV-bestand exporteren;
  • De Python csv gebruiken module, Perl Text::CSV , enz. om het voor te verwerken;
  • Perl/Python/whatever gebruiken om de CSV te laden en direct in de DB in te voegen
  • Een ETL-tool gebruiken zoals CloverETL, Talend Studio of Pentaho Kettle


  1. SQLite-vallen en valkuilen

  2. Werken met Java-gegevens in Sisense

  3. Hoe te controleren of er een trigger bestaat in PostgreSQL?

  4. Wachtwoord wijzigen met Oracle SQL Developer