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

Uaktualnianie kolumny varchar do typu enum w postgresql

Musisz zdefiniować rzut, który ma być używany, ponieważ nie jest dostępny domyślny rzut.

Jeśli wszystkie wartości w varcharColumn zgodne z definicją wyliczenia, powinno działać:

alter table foo 
  ALTER COLUMN varcharColumn TYPE enum_type using varcharColumn::enum_type;

Osobiście nie lubię wyliczeń, ponieważ są one dość nieelastyczne. Wolę ograniczenie sprawdzające w kolumnie varchar, jeśli chcę ograniczyć wartości w kolumnie. Lub - jeśli lista wartości często się zmienia i będzie się powiększać - stara dobra "tabela przeglądowa" z ograniczeniem klucza obcego.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Funkcja zwracająca dynamiczny zestaw kolumn dla danej tabeli

  2. Dlaczego pg_restore zwraca pomyślnie, ale w rzeczywistości nie przywraca mojej bazy danych?

  3. CURRENT_TIMESTAMP w milisekundach

  4. Funkcja GREATEST() w PostgreSQL

  5. Pominięcie podwójnego cudzysłowu w celu wykonania zapytania w PostgreSQL