我想创建这个表。这里的性别属性只允许'm'或'f'。因此,我在创建表时使用了这样的约束。
表格说明:
CREATE TABLE employee(
emp_no INT PRIMARY KEY,
birth_date DATE NOT NULL,
first_name VARCHAR(14) NOT NULL,
last_name VARCHAR(16) NOT NULL,
gender VARCHAR(1) CONSTRAINT ck_Only_Alphabets CHECK(gender IN("M", "F")),
hire_date DATE NOT NULL
);
这段代码运行良好。我曾经 CONSTRAINT ck_Only_Alphabets CHECK(gender IN("M", "F"))
.
有没有其他方法来添加这些约束?请介绍我能做这件事的其他方法。
1条答案
按热度按时间dfuffjeb1#
我可以很容易地想到另外三种实现这种约束的方法:
使用触发器检查有效值。
使用枚举类型。
使用引用表和外键约束。
还有一些变化,例如使用用户定义函数的检查约束。
我认为最好的方法是
check
约束,所以我认为没有必要详细说明如何做其他任何事情。