primary llave foreign foranea eliminar crear constraint agregar sql-server sql-server-2012 identity

sql-server - llave - identity sql



Clave principal de incremento automático en SQL Server Management Studio 2012 (9)

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

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

referencia de imagen de fifo

¿Cómo puedo auto increment la primary key en una tabla de base de datos de SQL Server ? He echado un vistazo en el foro pero no veo cómo.

He mirado las propiedades pero no puedo ver una opción, he visto una respuesta donde usted va a la propiedad de especificación de Identity y la configuro en sí y configuro el Identity increment en 1, pero esa sección está en gris y puedo No cambie el no a sí.

Debe haber una forma sencilla de hacer esto, pero no puedo encontrarlo.


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 incrementará automáticamente la columna desde el número 1. (Tenga en cuenta que el tipo de datos de la columna debe ser un 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 hacer que una columna sea una columna de identidad, TIENE QUE usar un comando ALTER TABLE .


Cuando está utilizando Tipo de datos: int, puede seleccionar la fila en la que desea obtener un autoincremento y acceder a la etiqueta de propiedades de la columna. Allí puede establecer la identidad en ''sí''. El valor de inicio para el autoincremento también se puede editar allí. Espero poder ayudar;)


Expanda su base de datos, expanda su tabla, haga clic con el botón derecho en su tabla y seleccione el diseño de la lista desplegable.

Ahora vaya a las propiedades de la columna a continuación, desplácese hacia abajo y busque la Especificación de identidad , amplíela y encontrará Identidad, haga que sí. Ahora, elija Incremento de identidad justo debajo de éste para obtener el valor que desea incrementar.


Quizás 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

Cuando haga referencia a la secuencia en decir un comando INSERT simplemente use:

NEXT VALUE FOR blah.blahsequence

Más información y opciones para la SEQUENCE


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


Tenga cuidado al igual que si desea que los elementos de ID sean contigios o no. Como SQLSERVER ID puede saltar por 1000.

Ejemplo: antes de reiniciar ID = 11 después de reiniciar, inserta una nueva fila en la tabla, luego la ID será 1012.


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

Edición: asumí que tendrías un tipo de datos entero, no char (10). Lo que es razonable diría y válido cuando publiqué esta respuesta


Tuve este problema en el que ya había creado la tabla y no podía cambiarla sin quitarla, así que lo que hice fue: (No estoy seguro de cuándo lo implementaron, pero lo tenía 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 al guión que dijo Josien; desplácese hasta la parte inferior donde está la CREATE TABLE , encuentre su clave principal y agregue IDENTITY(1,1) al final antes de la coma. Ejecutar guión.

El script DROP y CREATE también fue útil para mí debido a este problema. (Que maneja el script generado.)