Констрейнт CHECK позволяет нам использовать условие для проверки значения, которое пытаются добавить в запись. Если условие ложно, что констрейнт выдаст ошибку и запись не будет добавлена в таблицу базы данных (далее – БД).
Пример:
Предположим, что у нас есть таблица developers, в которую мы хотим добавить 10 записей. И нам необходимо проверить, чтобы опыт работы разработчиков был не менее 3, таким образом мы можем ограничить разработчиков, опыт работы которых менее трёх лет.
CREATE TABLE developers(
ID INT NOT NULL,
NAME VARCHAR (100) NOT NULL,
SPECIALTY VARCHAR(100) NOT NULL,
EXPERIENCE INT NOT NULL CHECK (EXPERIENCE >= 3),
SALARY INT NOT NULL,
PRIMARY KEY (ID)
);
Если таблица developers уже существует, то для того, чтобы добавить констрейнт CHECK в RDBMS MySQL, нам необходимо использовать следующую команду:
ALTER TABLE developers
MODIFY EXPERIENCE INT NOT NULL CHECK (EXPERIENCE >= 3 );
Мы также можем применить данный констрейнт к нескольким полям, используя следующий синтаксис SQL в той же RDBMS:
ALTER TABLE developers
ADD CONSTRAINT someCheck CHECK(EXPERIENCE >= 3);
Для того, чтобы удалить констрейнт CHECK в той же RDBMS нам необходимо использовать команду, указанную ниже:
ALTER TABLE developers
DROP CONSTRAINT someCheck;
На этом мы заканчиваем изучение констрейнта CHECK.