225 votos

Restablecer AutoIncrement en SqlServer después de Eliminar

He eliminado algunos registros de una tabla en Sql Server db. Ahora los Identificadores de ir de 101 a 1200. Quiero borrar los registros de nuevo, pero quiero que el id es para volver a 102. Hay una forma de hacer esto en Sql Server?

394voto

Robert Wagner Puntos 7904

Emita el comando siguiente para reiniciar mytable para iniciar a la 1:

DBCC CHECKIDENT (mytable, RESEED, 0)

Lee sobre ello en los Libros en Línea (BOL, SQL ayuda). También tenga cuidado de que no tiene los registros más altos que la semilla que se ajuste.

73voto

Fathah Rehman P Puntos 2509
DBCC CHECKIDENT('databasename.dbo.tablename', RESEED, number)

si número=0, a continuación, en el siguiente inserte el incremento automático de campo contendrá el valor 1

si número=101, a continuación, en el siguiente inserte el incremento automático de campo contendrá el valor de 102

32voto

user423430 Puntos 1505

semi idiota-prueba:

declare @max int;  
select @max = max(key) from table;  
dbcc checkident(table,reseed,@max)

http://sqlserverplanet.com/tsql/using-dbcc-checkident-to-reseed-a-table-after-delete

5voto

jumbojs Puntos 1034

Me lo imaginé. Es DBCC CHECKIDENT ('tablename', RESEED, newseed)

2voto

HLGEM Puntos 54641

Usted no quiere hacer esto en general. Reinicialización puede crear problemas de integridad de datos. Realmente es sólo para uso en sistemas de desarrollo donde se están borrando todos los datos de prueba y empezar de nuevo. No debe ser utilizado en un sistema de producción en el caso de que todos los registros relacionados no han sido eliminados (no cada tabla que debe ser en una relación de clave externa es!). Usted puede crear un lío hacerlo y sobre todo si te refieres a hacerlo sobre una base regular después de cada eliminar. Es una mala idea que preocuparse de lagunas en la identidad de los valores de campo.

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X