当类型为int时, Postgres枚举不工作



我正在尝试创建一个像下面这样的enum

create type oddNum as enum (1,3,5,7)

但是我得到了下面的错误:

ERROR: "1"第一行:创建类型odnum为enum (1,3,5,7)

Postgres文档中没有提到枚举类型被限制为varchar。这里的问题是什么,为什么它不让我创建这个enum。

如手册所述,enum的元素只能是字符串。

提示是这一部分:

CREATE TYPE name AS ENUM
( [ 'label' [, ... ] ] )

注意'label'在SQL中清楚地标识了一个字符串。


如果您想将列的值限制为奇数(可能在某个范围内),检查约束将是更好的选择。

最新更新