Reset giá trị Identity trong SQL Server về mặc định

by My Love

28/09/2021, 9:59 AM   |    28/09/2021, 10:02 AM   |    4.5K   |    0

        Trong SQL Server khi bạn đặt giá trị ID là tự động tăng và sau khi xóa toàn bộ dữ liệu thì nó vẫn cứ tiếp tục tăng giá trị tiếp theo mà không quay lại bắt đầu từ 1. Ví dụ bảng student của mình có 10 giá trị với ID từ 1 đến 10, khi mình xóa toàn bộ dữ liệu 10 bản ghi đó đi và bắt đầu thêm mới, thì ID tiếp theo sẽ là 11. Vậy để đưa giá trị tiếp theo mà bạn muốn về bất kì số nào bạn muốn thì dùng lệnh sau.
 

1. Reset giá trị Identity trong SQL vể mặc định

 
DBCC CHECKIDENT('Traffic', RESEED, 0)
- Lệnh trên sẽ reset Identity về 0 và giá trị tiếp theo khi bạn nhập dữ liệu vào sẽ nhận ID là 1

- Nếu bạn muốn dữ liệu tiếp theo nhập vào có ID là 8 thì lệnh sẽ thế này:
 
DBCC CHECKIDENT('Traffic', RESEED, 7)
 

2. Xóa dữ liệu trong SQL

- Ngoài ra muốn xóa toàn bộ dữ liệu trong bảng dùng lệnh sau :
 
DELETE FROM table_name;
- với table_name là tên bảng muốn xóa dữ liệu

- Xóa dữ liệu theo trường nào đó, ví dụ :
 
DELETE FROM STUDENT where Name='admin';