sql >> Database teknologi >  >> RDS >> PostgreSQL

Opgradering af en varchar-kolonne til enum type i postgresql

Du skal definere en cast, der skal bruges, fordi der ikke er nogen standard cast tilgængelig.

Hvis alle værdier i varcharColumn i overensstemmelse med enum-definitionen, bør følgende virke:

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

Jeg personligt kan ikke lide enums, fordi de er ret ufleksible. Jeg foretrækker en kontrolbegrænsning på en varchar-kolonne, hvis jeg vil begrænse værdierne i en kolonne. Eller - hvis værdilisten ændres ofte og kommer til at vokse - en god gammel "opslagstabel" med en fremmednøglebegrænsning.



  1. Lad ikke Streams Pool narre dig

  2. 3 måder at kontrollere en kolonnes datatype i PostgreSQL

  3. Har du problemer med MS Access Crashing? Prøv disse løsninger først

  4. Sådan sikkerhedskopieres og gendannes (eksportere og importere) MySQL-databaser Tutorial