我在表中有一个名为“Patient Type”的列。我想确保只有2个值可以插入到列中,不论是opd还是允许的,除此之外,所有其他输入都无效。限制列只接受2个值
下面是什么,我想
我如何确保该列只接受“门诊”或“承认”作为“病人类型”列中的数据的例子。
我在表中有一个名为“Patient Type”的列。我想确保只有2个值可以插入到列中,不论是opd还是允许的,除此之外,所有其他输入都无效。限制列只接受2个值
下面是什么,我想
我如何确保该列只接受“门诊”或“承认”作为“病人类型”列中的数据的例子。
您需要检查约束。
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'))
MySQL 5.7的[manual](http://dev.mysql.com/doc/refman/5.7/en/create-table.html)仍然说:“CHECK子句被解析,但被所有存储引擎忽略。” –
我认为这不是一个好的解决方案请检查我的评论以回答@MarkD – GRC