限制列以仅接受2个值

时间:2014-01-18 08:35:22

标签: mysql sql database input

我在表格中有一个名为“患者类型”的列。我想确保只有2个值可以插入到列中,opd或者被允许,除此之外,所有其他输入都无效。

以下是我想要的例子

enter image description here

如何确保该列仅接受“opd”或“录取”作为“患者类型”列的数据。

3 个答案:

答案 0 :(得分:10)

您需要检查约束。

ALTER TABLE [TableName] ADD CONSTRAINT 
my_constraint CHECK (PatientType = 'Admitted' OR PatientType = 'OPD')

你需要检查它是否适用于MySQL,尤其是今天 似乎它不起作用(或者至少它不是几年前)。

MySQL CHECK Constraint

CHECK constraint in MySQL is not working

MySQL CHECK Constraint Workaround

不确定它现在是否已修复。

如果不起作用,请使用触发器而不是检查约束。

答案 1 :(得分:8)

我不是MySQL开发者,但我认为这可能是你正在寻找的。 ENUM

答案 2 :(得分:3)

创建表时,使用Enum作为patientType列的数据类型。 Create table [tablename](firstname varchar(size),[othercolumns],patientType ENUM('OPD','Admitted'))