我找到了如何为TYPE
增加价值。但是我如何从中删除价值呢?
例如,我TYPE
的值为enum
('A','B','C')
。如何删除'C'
?
答案 0 :(得分:29)
要从枚举('enum_test')中删除值('val1'),您可以使用:
DELETE FROM pg_enum
WHERE enumlabel = 'val1'
AND enumtypid = (
SELECT oid FROM pg_type WHERE typname = 'enum_test'
)
答案 1 :(得分:12)
我刚刚在另一个问题上回答了这个问题,但这并不是一个重复的问题。
答案 2 :(得分:0)
“从pg_enum删除”答案有效。
但是,必须要注意它可能是危险的,因为如果删除的枚举值存在于数据库中某些表的某处,则删除仍然可以正常运行而不会抱怨,但所有具有已删除值的记录都会损坏。例如。任何在其结果集中包含任何此类记录的SELECT查询都会崩溃。