Lệnh để thêm một ràng buộc mặc định


81

Dường như có ít nhất hai cách để thêm một ràng buộc mặc định bằng cách sử dụng thẳng T-SQL. Tôi có chính xác rằng sự khác biệt duy nhất giữa hai phương pháp dưới đây là phương pháp thứ hai đặc biệt tạo tên cho ràng buộc và phương thức đầu tiên có một tên do SQL Server tạo ra?

ALTER TABLE [Common].[PropertySetting] ADD DEFAULT ((1)) FOR [Active];
ALTER TABLE [Common].[PropertySetting] ADD CONSTRAINT [DF_PropertySetting_Active) DEFAULT ((1)) FOR [Active];

Câu trả lời:


104

Khá nhiều, có cho một BẢNG ALTER

Bạn cũng có thể thêm một columnn với mặc định trong một bước cho CREATE hoặc ALTER.

ALTER TABLE foo ADD bar varchar(100) CONSTRAINT DF_Foo_Bar DEFAULT ('bicycle')
ALTER TABLE foo ADD bar varchar(100) DEFAULT ('bicycle')

Như bạn đã lưu ý, hệ thống tạo ra một tên nếu một tên không được cung cấp. CONSTRAINT constraint_namelà tùy chọn cho biết MSDN. Điều tương tự cũng áp dụng cho bất kỳ cột hoặc bảng nào CONSTRAINT

Chỉnh sửa Nếu cột đã được tạo và bạn chỉ muốn thêm hạn chế sử dụng:

ALTER TABLE TableName ADD CONSTRAINT DF_Foo_Bar DEFAULT 'bicycle' FOR FieldName;

3
Tôi có thể sử dụng tên được tạo thay thế DF_Foo_Bar, ngay cả khi cột đã tồn tại?
slartidan
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.