在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 中模拟枚举类型的效果。需要注意的是,在使用枚举类型时,需要手动维护枚举值表中的值。