Khi chúng ta tạo một bảng theo cách này:
CREATE TABLE people (
age INT,
name CHAR(20)
);
SQL tự do chấp nhận các giá trị trống dưới dạng bản ghi:
INSERT INTO people VALUES (null, null);
Đây có thể là một vấn đề, vì bây giờ chúng ta có một hàng có giá trị null:
age | name
-----+--------
37 | Flavio
8 | Roger
|
Để giải quyết vấn đề này, chúng ta có thể khai báo các ràng buộc trên các hàng bảng của chúng ta. NOT NULL
ngăn giá trị null:
CREATE TABLE people (
age INT NOT NULL,
name CHAR(20) NOT NULL
);
Nếu chúng tôi cố gắng thực thi lại truy vấn này:
INSERT INTO people VALUES (null, null);
Chúng tôi sẽ gặp lỗi, như sau:
ERROR: null value in column "age" violates not-null constraint
DETAIL: Failing row contains (null, null).
Lưu ý rằng một chuỗi trống là một giá trị không rỗng hợp lệ.