在SQL中,一般情况下并不支持直接创建枚举类型,但可以通过以下方式模拟枚举类型:
CREATE TABLE example (
status VARCHAR(10) CHECK (status IN ('active', 'inactive', 'pending'))
);
CREATE TABLE enum_values (
id SERIAL PRIMARY KEY,
value VARCHAR(10) UNIQUE
);
INSERT INTO enum_values (value) VALUES ('active'), ('inactive'), ('pending');
CREATE TABLE example (
id SERIAL PRIMARY KEY,
status_id INTEGER REFERENCES enum_values(id)
);
这样就可以在 SQL 中模拟枚举类型的效果。需要注意的是,在使用枚举类型时,需要手动维护枚举值表中的值。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读:如何在SQL中修改枚举类型