PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Надграждане на колона varchar до тип enum в postgresql

Трябва да дефинирате прехвърляне, което да се използва, защото няма налично предаване по подразбиране.

Ако всички стойности в varcharColumn в съответствие с дефиницията на enum, трябва да работи следното:

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

Аз лично не харесвам enums, защото са доста негъвкави. Предпочитам ограничение за проверка на колона varchar, ако искам да огранича стойностите в колона. Или – ако списъкът със стойности се променя често и ще се разраства – добра стара „таблица за търсене“ с ограничение за външен ключ.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. По-добре ли е да създадете индекс, преди да попълните таблица с данни, или след като данните са на мястото си?

  2. PHP и Postgres:улавяне на грешки?

  3. деактивирайте БЕЛЕЖИТЕ в изхода на psql

  4. Извършване на промени в топологията на репликация за PostgreSQL

  5. PostgreSQL тригери и основи на съхранените функции