我在表格中有一个名为“患者类型”的列。我想确保只有2个值可以插入到列中,opd或者被允许,除此之外,所有其他输入都无效。
以下是我想要的例子
如何确保该列仅接受“opd”或“录取”作为“患者类型”列的数据。
答案 0 :(得分:10)
您需要检查约束。
ALTER TABLE [TableName] ADD CONSTRAINT
my_constraint CHECK (PatientType = 'Admitted' OR PatientType = 'OPD')
你需要检查它是否适用于MySQL,尤其是今天 似乎它不起作用(或者至少它不是几年前)。
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'))