sql >> Databasteknik >  >> RDS >> PostgreSQL

Uppgradering av en varchar-kolumn till enumtyp i postgresql

Du måste definiera en cast som ska användas eftersom det inte finns någon standardcast tillgänglig.

Om alla värden i varcharColumn följer enum-definitionen, bör följande fungera:

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

Jag personligen gillar inte enums eftersom de är ganska oflexibla. Jag föredrar en kontrollbegränsning på en varchar-kolumn om jag vill begränsa värdena i en kolumn. Eller - om listan över värden ändras ofta och kommer att växa - en gammal bra "uppslagstabell" med en främmande nyckel-begränsning.



  1. Hur hanterar man ett valfritt värde som returneras av en fråga med postgres-lådan?

  2. 4 sätt att hitta rader som innehåller versaler i Oracle

  3. MySQL - Styr vilken rad som returneras av en grupp av

  4. Om SQLite