Aumento automático de la clave principal en SQL Server Management Studio 2012

¿Cómo puedo auto increment la primary key en una tabla de base de datos de SQL Server ? He echado un vistazo a través del foro, pero no puedo ver cómo.

He buscado las propiedades pero no puedo ver una opción, he visto una respuesta en la que se accede a la propiedad de especificación de Identity , se establece en sí y se establece el Identity increment en 1, pero esa sección aparece atenuada y puedo No cambie el no a sí.

Debe haber una manera simple de hacer esto pero no puedo encontrarlo.

Asegúrese de que el tipo de datos de la columna Clave sea int y luego establezca la identidad manualmente, como muestra la imagen

enter image description here

O simplemente ejecuta este código

 -- ID is the name of the [to be] identity column ALTER TABLE [yourTable] DROP COLUMN ID ALTER TABLE [yourTable] ADD ID INT IDENTITY(1,1) 

el código se ejecutará, si ID no es la única columna en la tabla

imagen de referencia fifo’s

Cuando está creando la tabla, puede crear una columna de IDENTITY siguiente manera:

 CREATE TABLE ( ID_column INT NOT NULL IDENTITY(1,1) PRIMARY KEY, ... ); 

La propiedad IDENTITY boostá automáticamente la columna desde el número 1. (Tenga en cuenta que el tipo de datos de la columna debe ser un número entero). Si desea agregar esto a una columna existente, use un comando ALTER TABLE .

Editar:
Probado un poco, y no puedo encontrar una manera de cambiar las propiedades de Identidad a través de la ventana Propiedades de columna para varias tablas. Supongo que si desea convertir una columna en una columna de identidad, TIENE que usar un comando ALTER TABLE .

Tienes que expandir la sección Identidad para exponer el incremento y la semilla.

enter image description here

Editar: asumí que tendrías un tipo de datos entero, no char (10). Lo cual es razonable, diría yo y válido cuando publique esta respuesta

Expanda su base de datos, expanda su tabla, haga clic derecho en su tabla y seleccione el diseño del menú desplegable. Se parece a esto

Ahora ve a Propiedades de columna debajo de ella desplázate hacia abajo y encuentra la Especificación de identidad , amplíala y encontrarás Is Identity en Sí. Ahora elija Incremento de identidad justo debajo de ella y proporcione el valor que desea incrementar en ella. enter image description here

Tal vez me esté perdiendo algo, pero ¿por qué esto no funciona con el objeto SEQUENCE? ¿No es esto lo que estás buscando?

Ejemplo:

 CREATE SCHEMA blah. GO CREATE SEQUENCE blah.blahsequence START WITH 1 INCREMENT BY 1 NO CYCLE; CREATE TABLE blah.de_blah_blah (numbers bigint PRIMARY KEY NOT NULL ......etc 

Al hacer referencia al squence en, digamos, un comando INSERT simplemente use:

 NEXT VALUE FOR blah.blahsequence 

Más información y opciones para SEQUENCE

Cuando usa el Tipo de datos: int puede seleccionar la fila que desea que se autoincremente y vaya a la etiqueta de propiedades de la columna. Allí puede establecer la identidad a ‘sí’. El valor inicial para autoincrement también se puede editar allí. Espero poder ayudar;)

Tuve este problema donde ya había creado la tabla y no pude cambiarla sin dejar caer la tabla, así que lo que hice fue: (No estoy seguro de cuándo implementaron esto pero lo tenían en SQL 2016)

Haga clic derecho en la tabla en el Explorador de objetos:

Script Table as > DROP And CREATE To > New Query Editor Window

Luego haga la edición del guión mencionado por Josien; desplácese hacia la parte inferior donde se encuentra CREATE TABLE , busque su clave principal y anexe IDENTITY(1,1) al final antes de la coma. Ejecutar guión.

Los guiones DROP y CREATE también me resultaron útiles debido a este problema. (Que maneja la secuencia de comandos generada)

Tenga cuidado como si desea que los elementos de ID sean contigius o no. Como SQLSERVER ID puede saltar por 1000.

Examinar: antes de reiniciar ID = 11 después del reinicio, inserta una nueva fila en la tabla, luego la identificación será 1012.

Si la tabla ya está poblada, no es posible cambiar una columna a la columna IDENTIDAD o convertirla a una columna que no sea IDENTIDAD. Debería exportar todos los datos, luego puede cambiar el tipo de columna a IDENTIDAD o viceversa y luego importar los datos nuevamente. Sé que es un proceso doloroso, pero creo que no hay otra alternativa que usar la secuencia como se menciona en esta publicación.

    Intereting Posts