Cách thiết lập lại các cột tự động tăng sau khi xóa các bản ghi để cột có trình tự theo thứ tự tăng dần SQL Server

Lượt xem: 6708

Sau khi xóa một số bản ghi thì thứ tự tăng dần không còn đúng trình tự, để thiết lập lại trình tự tăng dần có các cách sau:

Cách 1:

Dùng lệnh:

USE AdventureWorks2012; 
GO 
TRUNCATE TABLE HumanResources.JobCandidate;
GO

Cách này dùng để xóa trắng dữ liệu nhưng với những bảng có khóa ngoại thì không thực hiện được lệnh này.

Cách 2:

Chọn Generate Scripts lưu lại Schema and data.

Sau đó, xóa bảng rồi tạo lại bảng mới với Schema and data đã lưu.

Cách 3:

Dùng lệnh:

DBCC CHECKIDENT  
(  
    table_name [, { NORESEED | { RESEED [, new_reseed_value ] } } ] 
) 
[ WITH NO_INFOMSGS ]

Giải thích lệnh:

table_name: Tên bảng cần thiết lập lại.

NORESEED: Chỉ định rằng không nên thay đổi giá trị nhận dạng hiện tại.

RESEED: Chỉ định rằng giá trị nhận dạng hiện tại cần được thay đổi.

new_reseed_value: Là giá trị mới để sử dụng như giá trị hiện tại của cột nhận dạng

WITH NO_INFOMSGS: Ngăn chặn tất cả các tin nhắn thông tin.

Ví dụ: cần thiết lập giá trị tự động tăng cho bảng 'Person.AddressType' bắt đầu từ 1020 thì thực hiện lệnh như sau:

GO 
DBCC CHECKIDENT ('Person.AddressType', RESEED, 1020); 
GO

Chúc các bạn thành công!

Nguyễn Tuấn Khiêm