Cómo restablecer los valores de la columna de identidad en SQL

¿Qué es la ‘Columna de Identidad’?

La columna de identidad de una tabla es una columna cuyo valor aumenta automáticamente. Un usuario generalmente no puede insertar un valor en una columna de identidad. Una tabla solo puede tener una columna definida con el atributo de identidad.

Sintaxis:

IDENTITY [ ( seed , increment ) ]

El valor predeterminado de identidad es IDENTIDAD (1,1).

Semilla: La semilla representa el valor inicial de una ID y el valor predeterminado de la semilla es 1.

Incremento: representará el valor incremental de la ID y el valor predeterminado de incremento es 1.

Por ejemplo :

Paso 1: Cree una tabla llamada escuela.

CREATE TABLE school (
student_id INT IDENTITY,
student_name VARCHAR(200),
marks INT
);

Aquí, la columna ‘student_id’ de la tabla comienza en 1, ya que el valor predeterminado de seed es 1 y cada fila se incrementa en 1.

Paso 2: Inserte algún valor en una tabla.

INSERT INTO school (student_name, marks) VALUES ('Sahil', 100);
INSERT INTO school (student_name, marks) VALUES ('Raj', 78);
INSERT INTO school (student_name, marks) VALUES ('Navneet', 80);
INSERT INTO school (student_name, marks) VALUES ('Rahul', 75);
INSERT INTO school (student_name, marks) VALUES ('Sudeep', 82);
INSERT INTO school (student_name, marks) VALUES ('Azaan', 75);

Paso 3: Para ver los registros en la tabla ‘escuela’, podemos usar el siguiente código:

SELECT * FROM school;

Producción :

Identificación del Estudiante nombre del estudiante marcas
1 Sahil 100
2 Raj 78
3 Navneet 80
4 Raúl 75
5 profundo 82
6 Azaán 75

Paso 4: Vamos a eliminar un registro.

DELETE FROM school WHERE student_id = 4;

Paso 5: para ver los registros en la tabla.

SELECT * FROM school;

Producción :

Identificación del Estudiante nombre del estudiante marcas
1 Sahil 100
2 Raj 78
3 Navneet 80
5 profundo 82
6 Azaán 75

Ahora, puede ver que la columna student_id no está en orden, por lo que debe restablecer la columna de identidad. 

Restablezca el valor de identidad utilizando el método DBCC CHECKIDENT:

Aquí, para restablecer la columna Identidad en SQL Server, puede usar el método DBCC CHECKIDENT.

Sintaxis:

DBCC CHECKIDENT ('table_name', RESEED, new_value);

Nota: si restablecemos los registros existentes en la tabla e insertamos nuevos registros, mostrará un error.

Entonces, necesitamos:

  • Cree una nueva tabla como copia de seguridad de la tabla principal (es decir, la escuela).
  • Eliminar todos los datos de la tabla principal.
  • Y ahora reinicie la columna de identidad.
  • Vuelva a insertar todos los datos de la tabla de respaldo en la tabla principal.

Paso 6: Cree una tabla de respaldo llamada ‘nueva_escuela’.

CREATE TABLE new_school AS SELECT student_id, student_name, marks FROM school;

Paso 7: Borra todos los datos de la escuela.

DELETE FROM school;

Paso 8: restablecer la columna Identidad.

DBCC CHECKIDENT ('school', RESEED, 0);

Paso 9: Vuelva a insertar todos los datos de la tabla de respaldo en la tabla principal.

INSERT INTO school (student_name, marks) SELECT student_name, marks FROM new_school ORDER BY student_id ASC;

Paso 10: Ver los registros de la tabla.

SELECT * FROM school;

Producción :

Identificación del Estudiante nombre del estudiante marcas
1 Sahil 100
2 Raj 78
3 Navneet 80
4 profundo 82
5 Azaán 75

Así es como puede restablecer los valores de la columna de identidad en SQL.

Publicación traducida automáticamente

Artículo escrito por thesahilrai y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *