NOT NULL
- это ограничение (constraint) в SQL, которое гарантирует, что столбец не может содержать NULL-значений. Это означает, что при вставке или обновлении записи в таблице данный столбец обязательно должен иметь какое-либо значение.
CREATE TABLE employees (
id INT PRIMARY KEY,
first_name VARCHAR(50) NOT NULL,
last_name VARCHAR(50) NOT NULL,
email VARCHAR(100) NOT NULL UNIQUE
);
В этом примере все поля, кроме id (который уже имеет ограничение PRIMARY KEY, подразумевающее NOT NULL), должны быть заполнены.
ALTER TABLE employees
MODIFY COLUMN hire_date DATE NOT NULL;
INSERT INTO employees (id, first_name, last_name, email)
VALUES (1, NULL, 'Smith', 'john@example.com');
Этот запрос завершится с ошибкой, так как first_name не может быть NULL.
NOT NULL vs DEFAULT:
NOT NULL vs PRIMARY KEY:
CREATE TABLE products (
id INT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
price DECIMAL(10,2) NOT NULL CHECK (price > 0)
);
Резюмируем: ограничение NOT NULL - это фундаментальный механизм SQL для обеспечения целостности данных, гарантирующий, что важные поля всегда будут содержать значения. Оно простое в использовании, но критически важное для проектирования надежных баз данных.