Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 12402|Respuesta: 3

[Fuente] Actualizar el método de operación de la columna ID auto-creciente en la base de datos SQL Server

[Copiar enlace]
Publicado en 23/8/2018 12:20:44 | | | |
En el desarrollo diario de SQL Server, la columna identidad del tipo Identidad se utiliza a menudo como el número que crece a sí mismo de una estructura de tabla. Por ejemplo, número de artículo, número de serie de registro, etc. Las referencias a columnas identificadas que crecen por sí solas facilitan enormemente el desarrollo de programas de bases de datos, pero a veces este tipo de campo obstinado también puede causar algunos problemas.

1. Modificar los valores de campo de la columna de identificación:

A veces, para implementar una función, es necesario modificar el valor de un campo de tipo Identidad auto-creccida, pero esta operación no está permitida por defecto debido al tipo de columna identidad. Por ejemplo, si se añaden 5 datos normalmente en la base de datos y se eliminan 2 en ese momento, entonces si se añade de nuevo los datos, la columna de identificación que crece sola se asignará automáticamente un valor de 6, pero si quieres asignar un valor de 3 al insertar datos, no está permitido por defecto. Si quieres cambiar el valor de este campo, puedes controlar completamente la inserción del valor del campo de identificación, todavía hay métodos, jaja.

PONER IDENTITY_INSERT /[MESA/] [ON| OFF]
Usando la instrucción anterior, puedes controlar fácilmente si una columna de identificador que crece sola en una tabla crecerá automáticamente, es decir, si se permite especificar manualmente el valor del campo de columna de identificador al insertar un registro. Si se especifica como on, puedes especificar el valor del campo de columna identificador al insertar, lo que no hace crecer automáticamente el valor asignado. Por supuesto, si lo consumes, tienes que usar esta instrucción para apagar el interruptor al estado predeterminado apagado, de lo contrario el campo no aumentará automáticamente el valor asignado cuando insertes los datos la próxima vez.

2. Restablecer el valor del campo de la columna de identificación:

Cuando se elimina una parte del registro de datos y el nuevo registro de datos se añade después, el valor de la columna de identificación tendrá un intervalo de inactividad largo, lo que resulta muy desagradable. Incluso si eliminas todos los registros de la tabla, el valor de la columna de identidad seguirá aumentando automáticamente y sin fin, en lugar de crecer desde cero. El valor semilla del campo auto-creciente puede reiniciarse usando la siguiente afirmación:

DBCC CHECKIDENT(TABLE, [RESEED| NORESEED], [1])
La afirmación anterior obligará a restablecer el valor semilla de la tabla especificada a 1. Sin embargo, si no quieres restablecer la semilla a 1, puedes reemplazar el tercer parámetro por el valor semilla que quieras usar. Si quieres conocer la semilla actual en lugar de reiniciar la identificada, necesitas usar NORESEED en lugar de establecer el tercer parámetro.




Anterior:Columnas de crecimiento automático de SQL Server 2012 con problemas de salto de valor
Próximo:Windows no logra iniciar el servicio Redis, error 1067: El proceso termina inesperadamente.
 Propietario| Publicado en 23/8/2018 12:57:08 |
1. Cuando se eliminan todos los datos de la tabla, se incrementará automáticamente a cero. ( truncar tabla Nombre de la tabla )

2. No eliminar los datos de la tabla, reiniciar directamente el valor del crecimiento automático. ( COMPROBACIÓN DBCC ('NombreTabla', RESEED, 0)
 Propietario| Publicado en 23/8/2018 13:01:32 |
 Propietario| Publicado en 13/2/2019 9:59:15 |
Consulta los valores actuales de las columnas auto-incrementantes en una tabla:
    COMPROBADOR DE DBC (NombreTabla)

Modifica el valor actual de una columna autoincrementante en una tabla:
    COMPROBADOR DE DCC (NombreTabla, RESEED, valor)
    RESEED no es un nombre de columna, está escrito de forma fija.


Por ejemplo, si quiero cambiar el valor actual de la columna auto-incrementante en la tabla de División a 30, puedo usar el siguiente comando
REVISOR DEL DBC (División, RESEED, 30)
Luego usa
CHECKIDENT DEL DBC (División)
Puedes ver que el valor actual es 30
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com