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

Błąd Postgres podczas wstawiania — BŁĄD:nieprawidłowa sekwencja bajtów do kodowania UTF8:0x00

PostgreSQL nie obsługuje przechowywania znaków NULL (\0x00) w polach tekstowych (oczywiście różni się to od wartości NULL bazy danych, która jest w pełni obsługiwana).

Źródło:http://www.postgresql.org/docs/9.1/static/sql-syntax-lexical.html#SQL-SYNTAX-STRINGS-UESCAPE

Jeśli potrzebujesz przechowywać znak NULL, musisz użyć pola bajtowego - które powinno przechowywać wszystko, co chcesz, ale nie będzie obsługiwało na nim operacji tekstowych.

Biorąc pod uwagę, że PostgreSQL nie obsługuje go w wartościach tekstowych, nie ma dobrego sposobu, aby go usunąć. Możesz zaimportować swoje dane do bajtów, a później przekonwertować je na tekst za pomocą specjalnej funkcji (może w perlu czy coś?), ale prawdopodobnie łatwiej będzie to zrobić podczas wstępnego przetwarzania przed załadowaniem.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Łączenie PostgreSQL 9.2.1 z Hibernate

  2. Jak to_date() działa w PostgreSQL

  3. Znajdź wiersze, w których tablica tekstowa zawiera wartość podobną do input

  4. jak wyświetlić pełny kod procedury składowanej?

  5. Jak przyspieszyć liczenie wierszy w tabeli PostgreSQL?