Trong CSDL, Null là một giá trị đặc biệt. Nó không phải là giá trị rỗng (empty) không số không (zero). Nó thường được sử dụng để làm giá trị mặc định cho 1 cột (column) mà không bắt buộc phải nhập dữ liệu.
Rằng buộc NOT NULL chỉ ra rằng 1 cột (column) phải có 1 giá trị cụ thể khi thực hiện insert hay update dữ liệu.
Thêm một rằng buộc NOT NULL vào 1 cột khi tạo mới bảng CSDL
Cú pháp lệnh:
CREATE TABLE <table_name> ( <column_name> <data_type> NOT NULL );
Ví dụ: Tạo 1 bảng cars có trường name có rằng buộc NOT NULL
CREATE TABLE cars ( car_id serial NOT NULL PRIMARY KEY, name character varying NOT NULL, description text )
Bây giờ chúng ta thử insert dữ liệu vào bảng cars, nhưng ko insert vào trường name.
INSERT INTO cars (description) VALUES ('A blue car');
Kết quả câu lệnh insert thất bại, vì có rằng buộc NOT NULL
Thêm rằng buộc NOT NULL vào cột của bảng đã tồn tại
Đẻ thêm 1 rằng buộc NOT NULL, chúng ta sử dụng command ALTER TABLE và ALTER COLUMN với action là SET NOT NULL
Thêm rằng buộc NOT NULL vào 1 cột
Cú pháp lệnh:
ALTER TABLE table_name ALTER COLUMN column_name SET NOT NULL;
Ví dụ: Chúng ta thêm rằng buộc NOT NULL cho cột description củ bảng cars ở trên
ALTER TABLE cars ALTER COLUMN description SET NOT NULL;
Thêm rằng buộc NOT NULL vào nhiều cột
Cú pháp lệnh:
ALTER TABLEproduction_orders ALTER COLUMN material_id SET NOT NULL, ALTER COLUMN start_date SET NOT NULL, ALTER COLUMN finish_date SET NOT NULL;
Nguồn: vinasupport.com