risposta-alla-domanda-sullo-sviluppo-web-bd.com

Auto incrementa la chiave primaria in SQL Server Management Studio 2012

Come faccio a auto increment il primary key in una tabella di database SQL Server, ho dato un'occhiata attraverso il forum ma non riesco a vedere come.

Ho visto le proprietà ma non riesco a vedere un'opzione, ho visto una risposta in cui si va alla proprietà della specifica Identity e si imposta su yes e si imposta Identity increment su 1, ma quella sezione è in grigio e io posso ' t cambia il no a si.

Ci deve essere un modo semplice per farlo ma non riesco a trovarlo.

393
Ledgemonkey

Assicurarsi che il tipo di dati della colonna Chiave sia int e quindi impostare l'identità manualmente, come mostra l'immagine

enter image description here

Oppure basta eseguire questo codice

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

il codice verrà eseguito, se ID non è l'unica colonna della tabella

immagine di riferimento fifo

631
Raab

Devi espandere la sezione Identità per esporre l'incremento e il seed.

enter image description here

Modifica: ho presupposto che avresti un tipo di dati intero, non char (10). Il che è ragionevole direi e valido quando ho postato questa risposta

84
gbn

Espandi il tuo database, espandi il tuo tavolo con il tasto destro del mouse sulla tabella e seleziona design dal menu a discesa. ITlooks like this

Ora vai Proprietà della colonna sotto di essa scorri verso il basso e trova Identity Specification , espanderlo e troverai Is Identity renderlo Sì. Ora scegli Incremento dell'identità subito sotto di esso dai il valore che vuoi incrementare in esso. enter image description here

30
FIFO BIZSOL

Forse mi manca qualcosa, ma perché questo non funziona con l'oggetto SEQUENCE? Non è questo quello che stai cercando?

Esempio:

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

Quando si fa riferimento allo squence in un comando INSERT basta usare:

NEXT VALUE FOR blah.blahsequence

Ulteriori informazioni e opzioni per SEQUENZA

7
Techie Joe

Quando si utilizza Data Type: int è possibile selezionare la riga a cui si desidera ottenere l'autoincrementato e andare al tag delle proprietà della colonna. Lì puoi impostare l'identità su "sì". Qui è anche possibile modificare il valore iniziale per l'autoincremento. Spero di poter aiutare;)

6
M.Schrecker

Ho avuto questo problema dove avevo già creato la tabella e non potevo cambiarlo senza rilasciare la tabella, quindi quello che ho fatto è stato: (Non sono sicuro quando hanno implementato questo, ma lo avevano in SQL 2016)

Fare clic con il tasto destro del mouse sulla tabella in Esplora oggetti:

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

Quindi fai la modifica alla sceneggiatura detta da Josien; scorrere fino in fondo dove CREATE TABLE è, trovare la chiave primaria e aggiungere IDENTITY(1,1) alla fine prima della virgola. Esegui script.

Anche lo script DROP e CREATE è stato utile per me a causa di questo problema. (Che gestisce lo script generato).

0
cheriejw