Reset Identity Column Value in SQL Server Đặt lại Identity Cột Giá trị trong SQL Server
If you are using an identity column on your SQL Server tables, you can set the next insert value to whatever value you want. Nếu bạn đang sử dụng một cột danh tính của bạn bàn trên SQL Server, bạn có thể thiết lập giá trị chèn bên cạnh giá trị bất cứ điều gì bạn muốn. An example is if you wanted to start numbering your ID column at 1000 instead of 1. Một ví dụ là nếu bạn muốn bắt đầu đánh số cột ID của bạn ở 1000 thay vì 1.
It would be wise to first check what the current identify value is. Nó sẽ là khôn ngoan để kiểm tra trước những gì mà hiện nay là xác định giá trị. We can use this command to do so: Chúng tôi có thể sử dụng lệnh này để làm điều đó:
DBCC CHECKIDENT ('tablename', NORESEED) DBCC CHECKIDENT ( 'tablename', NORESEED)
For instance, if I wanted to check the next ID value of my orders table, I could use this command: Ví dụ, nếu tôi muốn kiểm tra giá trị ID tiếp theo của bảng đơn đặt hàng của tôi, tôi có thể sử dụng lệnh này:
DBCC CHECKIDENT (orders, NORESEED) DBCC CHECKIDENT (đơn đặt hàng, NORESEED)
To set the value of the next ID to be 1000, I can use this command: Để thiết lập giá trị của ID tiếp theo sẽ được 1000, tôi có thể sử dụng lệnh này:
DBCC CHECKIDENT (orders, RESEED, 999) DBCC CHECKIDENT (đơn đặt hàng, gieo hạt, 999)
Note that the next value will be whatever you reseed with + 1, so in this case I set it to 999 so that the next value will be 1000. Lưu ý rằng giá trị tiếp theo sẽ được bất cứ điều gì bạn gieo hạt với + 1, do đó, trong trường hợp này tôi đặt nó vào 999 để các giá trị tiếp theo sẽ được 1000.
Another thing to note is that you may need to enclose the table name in single quotes or square brackets if you are referencing by a full path, or if your table name has spaces in it. Một điều cần lưu ý là bạn có thể cần phải kèm theo tên bảng trong dấu ngoặc kép đơn hay ngoặc vuông nếu bạn tham khảo bằng một đường dẫn đầy đủ, hoặc nếu tên bảng của bạn có không gian trong đó. (which it really shouldn't) (mà nó thực sự cần không)
DBCC CHECKIDENT ( 'databasename.dbo.orders',RESEED, 999) DBCC CHECKIDENT ( 'databasename.dbo.orders', gieo hạt, 999)

Daily Email Updates Email cập nhật hàng ngày
You can get our how-to articles in your inbox each day for free. Bạn có thể làm thế nào chúng tôi vào các bài viết trong hộp thư của bạn mỗi ngày miễn phí. Just enter your name and email below: Chỉ cần nhập tên và email của bạn dưới đây:



wonderful.. tuyệt vời ..
That's all I need, Thanks in advanced!… Đó là tất cả tôi cần, Thanks in tiên tiến! ...
Have a nice weekend.. Have a nice weekend ..
Hey,, Hey,,
thus is what inwas looking for.. do đó là những gì inwas tim ..
gee thankss gee thankss
thanks! cảm ơn!
Mitico! Mitico!
Thanks a whole lot! Cảm ơn rất nhiều cả!
great concise page. rất ngắn gọn trang. thanks. cảm ơn. way easier than ms help files. cách dễ dàng hơn ms giúp các tập tin.
This is great. Điều này là rất lớn. But how to make the following code work: Nhưng làm thế nào để thực hiện công việc mã sau đây:
declare @seqno int tuyên bố @ int seqno
set @seqno = DBCC CHECKIDENT (orders, NORESEED) đặt @ seqno = DBCC CHECKIDENT (đơn đặt hàng, NORESEED)
DBCC CHECKIDENT ( 'databasename.dbo.orders',RESEED, @seqno) DBCC CHECKIDENT ( 'databasename.dbo.orders', gieo hạt, @ seqno)
I created a script that will do what you want, lakshmi. Tôi tạo ra một kịch bản mà sẽ làm những gì bạn muốn, lakshmi. Just replace MyId and mytbl below: Chỉ cần thay thế myid và mytbl dưới đây:
DECLARE @MaxId INT DECLARE @ MaxId INT
SELECT @MaxId = MAX( MyId ) SELECT @ MaxId = MAX (myid)
FROM mytbl (NOLOCK) TỪ mytbl (NOLOCK)
PRINT 'Resetting Identity value to : ' + CONVERT( VARCHAR, @MaxId ) Giá trị Identity IN 'lập lại đến:' + CONVERT (VARCHAR, @ MaxId)
PRINT ” IN "
DBCC CHECKIDENT ('mytbl', RESEED, @MaxId) DBCC CHECKIDENT ( 'mytbl', gieo hạt, @ MaxId)
PRINT ” IN "
– Verify - Xác minh
DBCC CHECKIDENT ('mytbl', NORESEED) DBCC CHECKIDENT ( 'mytbl', NORESEED)
Thanks Geek – worked like a charm Thanks Geek - worked like a charm
Thanks a lot!!!!!!!!! Thanks a lot !!!!!!!!!
Useful Stuff………… Có ích Stuff ... ... ... ...
Thanks a lot Cảm ơn rất nhiều
i was searching for this i đã được tìm kiếm này
Thanks a lot. Cảm ơn rất nhiều. For me, if I use the value of 0 to reseed, sql server 2005 didn't start from 1, but actually from 0. Đối với tôi, nếu tôi sử dụng giá trị 0 để gieo hạt, sql server 2005 đã không bắt đầu từ 1, nhưng thực sự từ 0. May be the +1 statement is not correct? Có thể là 1 tuyên bố là không đúng?
Thank you for information. Cảm ơn bạn đã thông tin. It was usefull. Đó là có ích.
Thanks Cảm ơn
Brilliant, thanks Brilliant, nhờ