繁体   English   中英

如何在 SQL 中添加此约束?

[英]How to add this constraint in SQL?

我想创建这个表。 这里的性别属性只允许“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. 使用触发器检查有效值。
  2. 使用枚举类型。
  3. 使用引用表和外键约束。

还有一些变化,例如使用用户定义的 function 的检查约束。

我认为最好的方法是check约束,所以我认为没有必要详细说明如何做其他任何事情。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM