Ограничение столбца может принимать только 2 значения

У меня есть столбец под названием "Тип пациента" в таблице. Я хочу убедиться , что в столбец можно вставить только 2 значения, opd или admitted, кроме этого, все остальные входы недопустимы.

Ниже приведен пример того, что я хочу!--1-->

enter image description here

Как убедиться, что столбец принимает только "opd" или "admitted" в качестве данных для столбца "тип пациента".

3 ответов


нужно проверить ограничение.

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

вам нужно проверить, работает ли он, хотя в MySQL, в частности, на сегодняшний день.
Кажется, это не работает (или, по крайней мере, это не было несколько лет назад).

ограничение проверки MySQL

проверить ограничение в MySQL не работает

обходной путь ограничения проверки MySQL

Не уверен, что это теперь исправлена.

если не работает, использовать триггер вместо ограничения check.


Я не разработчик MySQL, но я думаю, что это может быть то, что вы ищете. перечисление


при создании таблицы используйте перечисление в качестве типа данных для столбца patientType. Create table [tablename](firstname varchar(size),[othercolumns],patientType ENUM('OPD','Admitted'))