在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 中模擬枚舉類型的效果。需要注意的是,在使用枚舉類型時,需要手動維護枚舉值表中的值。