Khi muốn thêm 1 column not null vào bảng đã có dữ liệu từ trước thì cần đặt default value cho các record đó
Ví dụ thêm column RegisterDate vào bảng Product
1 |
ALTER TABLE Product ADD RegisterDate datetime2 NOT NULL Default('2020/02/13 00:00:00') |
Khi thêm bảng theo câu lệnh trên SQL Server sẽ tự tạo ra constraint vì thế sau đó nếu muốn xóa column bằng lệnh sau
1 |
ALTER TABLE Product Drop COLUMN RegisterDate |
sẽ gặp lỗi: Column RegisterDate có constraint với Object ‘DF_…..’
Cách thêm column đúng
1 2 |
ALTER TABLE Product ADD RegisterDate datetime2 NOT NULL CONSTRAINT DF_Product_RegisterDate Default('2020/02/13 00:00:00') ALTER TABLE Product DROP CONSTRAINT DF_Product_RegisterDate |