A CHECK Constraint permite uma condição para verificar o valor que está a ser inserido num registo. Se a condição avalia como falsa, o registro viola a restrição e não é inserido na tabela.
Exemplo
Por exemplo, o programa seguinte cria uma nova tabela chamada CLIENTES e adiciona cinco colunas. Aqui, adicionamos uma coluna CHECK com AGE, para que você não possa ter nenhum CLIENTE abaixo de 18 anos.
CREATE TABLE CUSTOMERS( ID INT NOT NULL, NAME VARCHAR (20) NOT NULL, AGE INT NOT NULL CHECK (AGE >= 18), ADDRESS CHAR (25) , SALARY DECIMAL (18, 2), PRIMARY KEY (ID));
Se a tabela CLIENTE já tiver sido criada, então para adicionar uma restrição CHECK à coluna AGE, você escreveria uma expressão como a dada abaixo.
ALTER TABLE CUSTOMERS MODIFY AGE INT NOT NULL CHECK (AGE >= 18 );
Você também pode usar a seguinte sintaxe, que suporta nomear a restrição em múltiplas colunas também –
ALTER TABLE CUSTOMERS ADD CONSTRAINT myCheckConstraint CHECK(AGE >= 18);
DROP a CHECK Constraint
Para abandonar uma restrição CHECK, use a seguinte sintaxe SQL. Esta sintaxe não funciona com MySQL.
ALTER TABLE CUSTOMERS DROP CONSTRAINT myCheckConstraint;