Überprüfen Sie die Einschränkung in SQL - Erklärt anhand von MySQL- und SQL Server-Syntaxbeispielen

Die CHECK-Einschränkung wird verwendet, um den Wertebereich zu begrenzen, der in einer Spalte platziert werden kann.

Wenn Sie eine CHECK-Einschränkung für eine einzelne Spalte definieren, werden nur bestimmte Werte für diese Spalte zugelassen.

Wenn Sie eine CHECK-Einschränkung für eine Tabelle definieren, können die Werte in bestimmten Spalten basierend auf den Werten in anderen Spalten in der Zeile begrenzt werden.

SQL CHECK on CREATE TABLE

Die folgende SQL erstellt eine CHECK-Einschränkung für die Spalte "Alter", wenn die Tabelle "Personen" erstellt wird. Die CHECK-Einschränkung stellt sicher, dass Sie keine Person unter 18 Jahren haben können:

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) ); 

Verwenden Sie die folgende SQL-Syntax, um die Benennung einer CHECK-Einschränkung zu ermöglichen und eine CHECK-Einschränkung für mehrere Spalten zu definieren:

MySQL / SQL Server / Oracle / MS-Zugriff:

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 CHECK auf ALTER TABLE

Verwenden Sie die folgende SQL, um eine CHECK-Einschränkung für die Spalte "Alter" zu erstellen, wenn die Tabelle bereits erstellt wurde:

MySQL / SQL Server / Oracle / MS-Zugriff:

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

Verwenden Sie die folgende SQL-Syntax, um die Benennung einer CHECK-Einschränkung zu ermöglichen und eine CHECK-Einschränkung für mehrere Spalten zu definieren:

MySQL / SQL Server / Oracle / MS-Zugriff:

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

DROP a CHECK Constraint

Verwenden Sie die folgende SQL, um eine CHECK-Einschränkung zu löschen:

SQL Server / Oracle / MS Access:

ALTER TABLE Persons DROP CONSTRAINT CHK_PersonAge; 

MySQL:

ALTER TABLE Persons DROP CHECK CHK_PersonAge;