Ho creato una tabella in SQL Server 2012 con la chiave primaria come incremento automatico. Ma come posso rimuovere quella proprietà di incremento automatico dalla tabella utilizzando una query SQL?Come rimuovere l'incremento automatico dalla tabella in sql server 2012
risposta
Il modo più semplice sarebbe:
- Aprire
SQL Server Management Studio
. - Individuare Server> Base dati> Tabella.
- Fare clic con il tasto destro sulla tabella> selezionare il disegno.
- Nella finestra di progettazione, evidenziare la colonna che si desidera modificare.
- Nella finestra
Column Properties
passare aIdentity Specification
>Is Identity
E impostare suNo
. - Vai al menu della barra degli strumenti>
Table Designer
> SelezionaGenerate Change Script...
- Walla, hai lo script richiesto.
Mi piace usare questo metodo per ottenere gli script, in quanto mi permette di generare script non sono sicuro di come comporre da zero e quindi l'apprendimento e migliorare le mie capacità ...
Se è necessario conservare i dati in quella colonna, creare una nuova colonna sulla tabella che è dello stesso tipo (ma con un nome diverso), copiare i dati dalla colonna che si desidera eliminare in quella nuova, rilasciare la vecchia colonna e rinominare il nuovo. Esempio completo:
CREATE TABLE test(col1 INT IDENTITY (1,1) NOT NULL, col2 VARCHAR(10) NULL);
ALTER TABLE test ADD col3 INT NULL;
UPDATE test SET col3 = col1;
ALTER TABLE test DROP COLUMN col1;
EXEC sp_rename 'dbo.test.col3', 'col1', 'COLUMN';
Se si tratta di una colonna chiave primaria, è necessario prima rilasciare il PK. Se ci sono delle tabelle che fanno riferimento a questo, allora dovrai rilasciare questi FK per poter rilasciare il PK. Dopo di ciò, aggiungi un'altra colonna dello stesso tipo, aggiornala con i valori della colonna Identity, rilascia la colonna Identity, rinomina la nuova colonna a qualunque sia il nome della colonna Identity (con la procedura sp_rename
), ricrea il PK, ricrea gli FK, controlla se tutto è andato bene.
Sarei molto attento a farlo su un database di produzione. Assicurati che nessuno possa accedere ai dati mentre stai facendo questo.
SET_IDENTITY_INSERT [TABLE] OFF .. questo permette di rimuovere l'incremento automatico a stato off .., in modo da avere per inserire il valore in thatcolumn
No, non significa che non è possibile inserire direttamente nella colonna. è necessario impostare 'IDENTITY_INSERT' su' ON' per sovrascrivere il numero automatico. Oltre a ciò, questa non è davvero una soluzione adeguata perché non ha rimosso le specifiche di identità della colonna e potrebbe essere attivata in futuro con conseguenze potenzialmente indesiderate o addirittura pericolose. –
Questa è una soluzione alternativa, non una soluzione – Savage
- 1. Come sbloccare la tabella in SQL Server 2012?
- 2. SQL Server 2012 sequenza
- 3. SQL Server 2012
- 4. SQL Server 2012 intellisense
- 5. Odd SQL Server 2012 problema IDENTITY
- 6. Query su database diversi - stessa tabella SQL Server 2012
- 7. inserire più righe nella tabella Temp con SQL Server 2012
- 8. Come recuperare le righe cancellate dalla tabella del server SQL?
- 9. Chiave primaria di incremento automatico in SQL Server Management Studio 2012
- 10. Cosa significa persistito in SQL Server 2012
- 11. Utilizzo della sequenza in SQL Server 2012
- 12. SQL Server - copia dati dalla tabella di staging
- 13. Tabella pivot dinamica in SQL Server
- 14. Tabella bootstrap. Come rimuovere tutti i bordi dalla tabella?
- 15. Come rimuovere i nomi dei server nella cache dalla finestra di dialogo Connetti al server?
- 16. SQL Server - Metadati tabella
- 17. Rimuovere sql server 2005 express per installare SQL Server 2008
- 18. Sintassi SQL per LEFT OUTER JOIN in SQL Server 2012
- 19. Come posso generare istruzioni di inserimento con Sql server 2012?
- 20. Come impedire l'arresto automatico di SQL Server LocalDB?
- 21. Come rimuovere il vincolo di chiave esterna in sql server?
- 22. PowerShell - Mappatura utente SQL Server 2012
- 23. Impostazione/SECURITYMODE in modalità mista per SQL Server 2012 Installazione
- 24. Come rimuovere la riga corrente dalla tabella in jQuery?
- 25. Come posso rimuovere preventivi iniziali e finali in SQL Server?
- 26. nIBernate e SQL Server 2012 LocalDB
- 27. Come si converte un file .mdf di SQL Server 2008 in SQL Server 2012?
- 28. SQL Server Management Studio 2012 si blocca
- 29. SSAS - Cube Browser - SQL Server 2012 RTM
- 30. Entity Framework e SQL Server 2012 Paging
http://stackoverflow.com/questions/8834433/ remove-auto-increment-by-script-sql-server – slavoo
Rilascia il vincolo PK, rilascia la colonna: non è possibile rimuovere semplicemente la specifica 'IDENTITY' da una colonna esistente .... –
http://stackoverflow.com/questions/8230257/sql-server-remove-identity-from-a-column-in-a-table – MarkD