Обмеження NOT NULL означає, що стовпець не може містити значення NULL. Наприклад:
|
1 2 3 4 5 |
CREATE TABLE Colleges ( college_id INT NOT NULL, college_code VARCHAR(20), college_name VARCHAR(50) ); |
Тут стовпці college_id та college_code таблиці Colleges не можуть мати значення NULL.
Примітка: Ключові слова NOT NULL використовуються для додавання обмежень, тоді як умови IS NULL та IS NOT NULL використовуються з оператором WHERE для вибору рядків з таблиці.
Видалити обмеження NOT NULL
Ми також можемо видалити обмеження NOT NULL для стовпця, якщо воно більше не потрібне. Наприклад:
SQL Server
|
1 2 |
ALTER TABLE Colleges ALTER COLUMN college_id INT; |
Oracle
|
1 2 |
ALTER TABLE Colleges MODIFY (college_id NULL); |
MySQL
|
1 2 |
ALTER TABLE Colleges MODIFY college_id INT; |
PostgreSQL
|
1 2 |
ALTER TABLE Colleges ALTER COLUMN college_id DROP NOT NULL; |
Обмеження NOT NULL з оператором ALTER TABLE
Ми також можемо додати обмеження NOT NULL до стовпця у існуючій таблиці за допомогою оператора ALTER TABLE. Наприклад:
SQL Server
|
1 2 |
ALTER TABLE Colleges ALTER COLUMN college_id INT NOT NULL; |
Oracle
|
1 2 |
ALTER TABLE Colleges MODIFY college_id INT NOT NULL; |
MySQL
|
1 2 |
ALTER TABLE Colleges MODIFY COLUMN college_id INT NOT NULL; |
PostgreSQL
|
1 2 |
ALTER TABLE Colleges ALTER COLUMN college_id SET NOT NULL; |
Тут ми додаємо обмеження NOT NULL до стовпця college_id в існуючій таблиці Colleges.
Тепер, коли ми спробуємо додати дані до таблиці Colleges без вказування значень для поля college_id, SQL видасть помилку. Наприклад:
|
1 2 |
INSERT INTO Colleges(college_code, college_name) VALUES ('NYC', "Waikiki"); |
Тут SQL видасть помилку, тому що нам не можна пропускати поле college_id у таблиці Colleges через діюче обмеження NOT NULL.
