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

Cách tạo Ràng buộc Không Null trên Cột trong Bảng SQL Server - Hướng dẫn SQL Server / T-SQL Phần 51

Tình huống:

Bạn đang tạo bảng khách hàng cho một trong những yêu cầu của mình, bạn muốn đảm bảo Cột tên luôn có giá trị. Bạn sẽ làm cách nào để đảm bảo Cột Tên luôn có giá trị?


Giải pháp:

Các quy tắc được xác định ràng buộc đảm bảo dữ liệu chúng ta chèn vào cột tuân theo các quy tắc.
Đối với yêu cầu trên, chúng ta có thể tạo ràng buộc Not Null trên một cột, Not Null Constraint đảm bảo giá trị được chèn vào cột đó không phải là Null. Nếu người dùng cố gắng chèn hàng mà không cung cấp giá trị cho cột mà chúng tôi đã tạo Ràng buộc Không Null, Chèn sẽ không thành công vì cột không thể chấp nhận các giá trị Null.

Để tạo Ràng buộc Không Null trên Cột trong Bảng, chúng ta phải Thêm Không Null sau Kiểu Dữ liệu như được hiển thị bên dưới cho Cột Tên.

Create Table Customer
(FirstName VARCHAR(50) Not Null,
LastName VARCHAR(50),
Age SmallInt,
PhoneNumber CHAR(9),
DOB Date,
Gender CHAR(1)
)
 Bạn có thể thấy rằng tôi đã không cung cấp Not Null Constraint cho các cột khác, điều đó có nghĩa là những cột đó có thể chấp nhận giá trị Null hoặc giá trị không xác định. 

Hãy chèn các hàng bên dưới và xem điều gì xảy ra

>
insert into dbo.Customer ( FirstName,LastName,Age,PhoneNumber,DOB,Gender)
Values
('Aamir','Shahzad',Null,Null,Null,Null)
,(Null,'Raza',33,'00000000',Null,'M')
 Như bạn có thể thấy rằng giao dịch không thành công vì chúng tôi không thể chèn cột Null trong First Name, sẽ không có Bản ghi nào được chèn. 


Cách tạo Not Null Constraint trên một cột trong SQL Server - Hướng dẫn TSQL
Hãy xem xét Chèn thứ hai , Nơi chúng tôi không chèn bất kỳ thứ gì vào cột Tên. Vẫn chèn sẽ không thành công, vì khi bạn không cung cấp cột trong danh sách chèn, nó sẽ cố gắng chèn giá trị Null cho cột đó và chúng tôi đã tạo Not Null Constraint trên cột First Name.


/>
insert into dbo.Customer (LastName,Age,PhoneNumber,DOB,Gender)
Values
('Raza',33,'00000000','2016-01-26','M')
  
 Cách tạo Not Null Constraint trong SQL Server - SQL Server / TSQL Tutorial 



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Không sử dụng sp_depends trong SQL Server (nó không được dùng nữa)

  2. Truy vấn SQL nào nhanh hơn? Lọc theo tiêu chí Tham gia hoặc mệnh đề Where?

  3. Sử dụng SQL Server làm kho lưu trữ hình ảnh

  4. Những cột nào thường tạo ra các chỉ mục tốt?

  5. Cách thực thi một trình kích hoạt chỉ khi một cột cụ thể được cập nhật (SQL Server)