【发布时间】:2014-02-07 17:28:08
【问题描述】:
我在表格中有一个名为“患者类型”的列。我想确保只能将 2 个值插入到列中,无论是 opd 还是承认,除此之外,所有其他输入均无效。
以下是我想要的示例
如何确保该列仅接受“opd”或“admitted”作为“Patient Type”列的数据。
【问题讨论】:
我在表格中有一个名为“患者类型”的列。我想确保只能将 2 个值插入到列中,无论是 opd 还是承认,除此之外,所有其他输入均无效。
以下是我想要的示例
如何确保该列仅接受“opd”或“admitted”作为“Patient Type”列的数据。
【问题讨论】:
我不是 MySQL 开发人员,但我认为这可能是您正在寻找的。 ENUM
【讨论】:
你需要一个检查约束。
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
不确定现在是否已修复。
如果不起作用,请使用触发器而不是检查约束。
【讨论】:
在创建表时,使用 Enum 作为 patientType 列的数据类型。
Create table [tablename](firstname varchar(size),[othercolumns],patientType ENUM('OPD','Admitted'))
【讨论】: