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. |