Thứ Ba, 27 tháng 9, 2016

ĐẶT LẠI GIÁ TRỊ IDENTITY SEED CỦA MỘT TRƯỜNG (CỘT) TỰ TĂNG TRONG SQL SERVER

Đặt lại giá trị Identity Seed của một trường (cột) tự tăng trong Sql Server

TÌNH HUỐNG 1

Khi ta muốn xóa trắng dữ liệu của mội bảng, có thể dùng lệnh truncate table. Đối với những bảng có khóa ngoại thì không thể thực hiện được lệnh trên. Nên nhiều khi lười không muốn xóa liên kết 1-nhiều, truncate hoặc drop rồi tạo lại, ta dùng lệnh delete from tablename luôn. Bây giờ mong muốn là cột tự tăng (identity) có seed quay trở về 1 khi insert record mới vào.

TÌNH HUỐNG 2

Đơn giản ta muốn ID tự tăng bắt đầu từ một số khác lớn hơn số sắp sắp tới. (1001 thay vì 24 chẳng hạn)

GIẢI PHÁP (CHO SQL SERVER)

Sử dụng lệnh sau:
1-- cho trường hợp muốn seed sắp tới là 1
2DBCC CHECKIDENT('tablename', RESEED, 0)
3 
4-- cho trường hợp muốn seed sắp tới là 1001
5DBCC CHECKIDENT('tablename', RESEED, 1000)
Lưu ý, để chạy được lệnh trên thì bạn cần có đủ quyền

Không có nhận xét nào:

Đăng nhận xét

Cám ơn bạn đã quan tâm đến bài viết của mình nhé!