2014-09-17 12 views
11

Ho trovato come aggiungere valore allo TYPE. Ma come posso rimuovere il valore da esso?
Ad esempio, ho TYPE con valori enum('A','B','C'). Come rimuovere 'C'?Come modificare il tipo e rimuovere il valore in postgresql

+0

Se avete bisogno di fare questo, un 'enum' è molto probabilmente la scelta sbagliata in primo luogo. Utilizzare una seconda tabella e una chiave esterna tra le due tabelle –

+1

Possibile duplicato di [Come eliminare un tipo enum in postgres?] (Http://stackoverflow.com/questions/25811017/how-to-delete-an-enum- type-in-postgres) – Kev

risposta

21

Per rimuovere il valore ('val1') da enum ('enum_test') si possono usare:

DELETE FROM pg_enum 
WHERE enumlabel = 'val1' 
AND enumtypid = (
    SELECT oid FROM pg_type WHERE typname = 'enum_test' 
) 
+0

Che funziona come un fascino !! Grazie –

+0

Molto ordinato e breve, quindi molto meno incline agli errori. Molte grazie ! – cgte