SQL Server: IDENTITY
IDENTITY hay còn gọi là thuộc tính nhận dạng của SQL Server được sử dụng để tạo ra cột nhận dạng, chúng chứa các giá trị tự động phát sinh tuần tự để nhận dạng duy nhất mỗi hàng trong một bảng.
Mỗi một bảng chỉ được phép có duy nhất một thuộc tính nhận dạng.
Một thuộc tính nhận dạng có hai thành phần:
- Giá trị khởi đầu (seed value)
- Giá trị tăng (increment value) hay còn gọi là bước nhảy
Cú pháp:
Cần nhớ rằng nếu viết là identity mà không có phần seed_value và increment_value thì tương đương: identity(1,1).
Ví dụ:
identity(1,1) nghĩa là giá trị khởi đầu là 1 và các giá trị sẽ được tự động tạo ra là 1, 2, 3, ...
identity(3,5) nghĩa là giá trị khởi đầu là 3 và các giá trị sẽ được tự động tạo ra là 3, 8, 13, ...
Ví dụ áp dụng vào thực tế:
);
, cột studentid sẽ tự động nhận các giá trị bắt đầu từ 1 và các giá trị sau là 2, 3, 4, ...
Lưu ý:
+ Bạn không thể chỉnh sửa (UPDATE) được các giá trị của cột đặt IDENTITY.
+ Do các giá trị của cột đặt IDENTITY là tự động được sinh ra trong quá trình chèn (INSERT) bản ghi, nên nếu bạn muốn chủ động đặt giá trị tại cột này trong quá trình chèn bản ghi bạn cần thực hiện như sau:
SET IDENTITY_INSERT Tên_bảng ON;
INSERT Tên_bảng(Các_cột) values(Các_giá_trị);
Ví dụ: