Проверете ограничението в SQL - Обяснено с MySQL и примери за синтаксис на SQL Server

Ограничението CHECK се използва за ограничаване на диапазона от стойности, който може да бъде поставен в колона.

Ако дефинирате ограничение CHECK за една колона, тя позволява само определени стойности за тази колона.

Ако дефинирате ограничение CHECK в таблица, тя може да ограничи стойностите в определени колони въз основа на стойности в други колони в реда.

SQL ПРОВЕРКА на CREATE TABLE

Следващият SQL създава ограничение CHECK в колоната „Възраст“, ​​когато се създава таблицата „Лица“. Ограничението CHECK гарантира, че не можете да имате лице под 18 години:

MySQL:

CREATE TABLE Persons ( ID int NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255), Age int, CHECK (Age>=18) ); 

SQL Server / Oracle / MS Access:

CREATE TABLE Persons ( ID int NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255), Age int CHECK (Age>=18) ); 

За да позволите именуване на ограничение CHECK и за дефиниране на ограничение CHECK за множество колони, използвайте следния SQL синтаксис:

MySQL / SQL Server / Oracle / MS Access:

CREATE TABLE Persons ( ID int NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255), Age int, City varchar(255), CONSTRAINT CHK_Person CHECK (Age>=18 AND City="Sandnes") ); 

SQL ПРОВЕРКА НА ALTER TABLE

За да създадете ограничение CHECK в колоната „Възраст“, ​​когато таблицата вече е създадена, използвайте следния SQL:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons ADD CHECK (Age>=18); 

За да позволите именуване на ограничение CHECK и за дефиниране на ограничение CHECK за множество колони, използвайте следния SQL синтаксис:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons ADD CONSTRAINT CHK_PersonAge CHECK (Age>=18 AND City="Sandnes"); 

ИЗПАДЕТЕ ПРОВЕРКА Ограничение

За да премахнете ограничението CHECK, използвайте следния SQL:

SQL Server / Oracle / MS Access:

ALTER TABLE Persons DROP CONSTRAINT CHK_PersonAge; 

MySQL:

ALTER TABLE Persons DROP CHECK CHK_PersonAge;