Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Thêm cột có giá trị mặc định vào bảng hiện có trong SQL Server

Cú pháp:

ALTER TABLE {TABLENAME} 
ADD {COLUMNNAME} {TYPE} {NULL|NOT NULL} 
CONSTRAINT {CONSTRAINT_NAME} DEFAULT {DEFAULT_VALUE}
WITH VALUES

Ví dụ:

ALTER TABLE SomeTable
        ADD SomeCol Bit NULL --Or NOT NULL.
 CONSTRAINT D_SomeTable_SomeCol --When Omitted a Default-Constraint Name is autogenerated.
    DEFAULT (0)--Optional Default-Constraint.
WITH VALUES --Add if Column is Nullable and you want the Default Value for Existing Records.

Ghi chú:

Tên Ràng buộc Tùy chọn:
Nếu bạn bỏ qua CONSTRAINT D_SomeTable_SomeCol thì SQL Server sẽ tự động tạo
một Mặc định-Tương phản với một Tên vui nhộn như:DF__SomeTa__SomeC__4FB7FEF6

Tuyên bố có giá trị tùy chọn:
WITH VALUES chỉ cần thiết khi Cột của bạn là Nullable
và bạn muốn Giá trị mặc định được sử dụng cho các Bản ghi Hiện có.
Nếu Cột của bạn là NOT NULL , sau đó nó sẽ tự động sử dụng Giá trị mặc định
cho tất cả các Bản ghi Hiện có, cho dù bạn chỉ định WITH VALUES hoặc không.

Cách Phụ trang hoạt động với Ràng buộc mặc định:
Nếu bạn chèn Bản ghi vào SomeTable và làm không Chỉ định SomeCol giá trị của, sau đó nó sẽ Mặc định thành 0 .
Nếu bạn chèn Bản ghi Chỉ định SomeCol giá trị của là NULL (và cột của bạn cho phép rỗng),
thì Mặc định-Ràng buộc sẽ không được sử dụng và NULL sẽ được chèn dưới dạng Giá trị.

Ghi chú dựa trên phản hồi tuyệt vời của mọi người bên dưới.
Đặc biệt cảm ơn:
@Yatrix, @WalterStabosz, @YahooSerious và @StackMan vì những nhận xét của họ.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Lệnh Sql JOIN có ảnh hưởng đến hiệu suất không?

  2. Chuyển một chuỗi được phân tách bằng dấu phẩy thành các hàng riêng lẻ

  3. Cách chèn dòng mới trong nvarchar một cách chính xác

  4. Lệnh SQL INSERT đang hoạt động nhưng dữ liệu không xuất hiện trong bảng

  5. Cách thực hiện:Tạo trình kích hoạt cho ngày sửa đổi cập nhật tự động với SQL Server 2008