PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Psql COPY z ograniczeniem kończy się niepowodzeniem

Wygląda na to, że Twój źródłowy csv używa ' (pojedynczy cudzysłów), aby zacytować wszystkie kolumny. Możesz określić to jako znak cytatu za pomocą opcji QUOTE

\copy polecenie próbuje załadować 'old' w kolumnie stanu, która sprawdza, czy wartości są new lub old . Dodatkowe cytaty naruszają ograniczenie.

\copy example_table(name,status) FROM example.sql DELIMITER ',' CSV Header QUOTE ''''

Wymagane są 4 pojedyncze cudzysłowy, ponieważ 1 określa rzeczywisty znak cudzysłowu, 1 oznacza znak ucieczki, a 2 obejmuje znak cytowania.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak zaktualizować wszystkie kolumny za pomocą INSERT ... ON CONFLICT ...?

  2. Błąd:EXDEV:niedozwolone łącze między urządzeniami, zmień nazwę „/tmp/ na Ubuntu 16.04 LTS

  3. Połącz wiele wierszy wyników z jednej kolumny w jedną, pogrupuj według innej kolumny

  4. SchemaSpy PostgreSQL - WARN - Błąd połączenia

  5. DELETE FROM ... raportowanie błędu składni w miejscu lub w pobliżu .