types = { # add your custom types here
'attendance': ('Notconfirmed','Coming', 'Notcoming', 'Maycome',),
}
CREATE TYPE attendance AS ENUM types;
以上查询使用类型中提到的枚举标签创建枚举类型出席。如何创建具有默认标签的类型?在这种情况下,我想创建出勤类型,默认值为Notconfirmed。
答案 0 :(得分:41)
我和你一样尝试,我只在stackoverflow中得到答案,可以用默认值创建ENUM。这就是我得到的。
CREATE TYPE status AS ENUM ('Notconfirmed','Coming', 'Notcoming', 'Maycome');
CREATE TABLE t (
id serial,
s status default 'Notconfirmed' -- <==== default value
);
INSERT INTO t(id) VALUES (default) RETURNING *;
这对我来说就像一个魅力。
答案 1 :(得分:2)
除了Sudarshan的话......
如果有人需要不同架构中的示例:
CREATE TABLE schema_name.table_name ( --
id serial,
s schema_name.type_name default 'Notconfirmed'::schema_name.type_name
);
答案 2 :(得分:0)
我不确定为什么我们需要在表中进行以下查询。我尝试过不使用此行仍然有效。
INSERT INTO t(id) VALUES (default) RETURNING *;