Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 12402|Risposta: 3

[Fonte] Aggiorna il metodo operativo della colonna ID auto-crescente nel database SQL Server

[Copiato link]
Pubblicato su 23/08/2018 12:20:44 | | | |
Nello sviluppo quotidiano di SQL Server, la colonna identità del tipo Identità viene spesso utilizzata come numero auto-crescente di una struttura di tabella. Ad esempio, numero di articolo, numero di serie del registro, ecc. I riferimenti a colonne identificate auto-crescendo facilitano notevolmente lo sviluppo di programmi di database, ma a volte questo tipo di campo ostinato può anche causare qualche problema.

1. Modificare i valori dei campi della colonna di identificazione:

A volte, per implementare una funzione, è necessario modificare il valore di un campo di tipo Identità auto-crescente, ma questa operazione non è consentita di default a causa del tipo di colonna identità. Ad esempio, se vengono aggiunti normalmente 5 dati nel database e 2 vengono cancellati in questo momento, se i dati vengono aggiunti di nuovo, la colonna di identificazione auto-crescente verrà automaticamente assegnata a 6, ma se si vuole assegnare un valore di 3 durante l'inserimento dei dati, non è consentito di default. Se vuoi cambiare il valore di questo campo, puoi controllare completamente l'inserimento del valore del campo di identificazione, ci sono ancora metodi, haha.

IMPOSTA IDENTITY_INSERT /[TAVOLO/] [ON| OFF]
Utilizzando l'istruzione sopra, puoi facilmente controllare se una colonna identificativo che si auto-espande in una tabella crescerà automaticamente, cioè se è permesso specificare manualmente il valore del campo della colonna identificatore quando inserisci un record. Se specificato come on, puoi specificare il valore del campo colonna identificativa durante l'inserimento, il che non fa crescere automaticamente il valore assegnato. Ovviamente, se lo consumi, devi usare questa istruzione per spegnere l'interruttore sullo stato predefinito spento, altrimenti il campo non aumenterà automaticamente il valore assegnato quando inserisci i dati la volta successiva.

2. Resetta il valore del campo della colonna di identificazione:

Quando una parte del record dati viene eliminata, il nuovo record aggiunto successivamente, il valore della colonna di identificazione avrà un intervallo di inattività lungo, il che appare molto sgradevole. Anche se elimini tutti i record nella tabella, il valore della colonna identità continuerà ad aumentare automaticamente e a crescere all'infinito, invece di crescere da zero. Il valore semi del campo auto-crescente può essere reimpostato utilizzando la seguente affermazione:

DBCC CHECKIDENT(TABLE, [RESEED| NORESEED], [1])
L'affermazione sopra costringerà il valore seed della tabella specificata a essere reimpostato a 1. Tuttavia, se non vuoi resettare il seed a 1, puoi sostituire il terzo parametro con il valore seed che vuoi usare. Se vuoi conoscere il seed corrente invece di resettare quello identificato, devi usare NORESEED invece di impostare il terzo parametro.




Precedente:Colonne di crescita automatica di SQL Server 2012 con problemi di salto di valore
Prossimo:Windows non avvia il servizio Redis, errore 1067: Il processo termina inaspettatamente.
 Padrone di casa| Pubblicato su 23/08/2018 12:57:08 |
1. Quando tutti i dati nella tabella vengono eliminati, saranno automaticamente aumentati a zero. ( tronca tabella Nome della Tabella )

2. Non eliminare i dati della tabella, resettare direttamente il valore dell'auto-crescita. ( DBCC CHECKIDENT('TableName', RESEED, 0)
 Padrone di casa| Pubblicato su 23/08/2018 13:01:32 |
 Padrone di casa| Pubblicato su 13/02/2019 09:59:15 |
Visualizza i valori attuali delle colonne auto-incrementanti in una tabella:
    CONTROLLO DBCC (TableName)

Modifica il valore corrente di una colonna auto-incrementante in una tabella:
    DBCC CHECKIDENT (TableName, RESEED, value)
    RESEED non è un nome di colonna, è scritto in modo fisso.


Ad esempio, se voglio cambiare il valore corrente della colonna auto-incrementante nella tabella di divisione a 30, posso usare il seguente comando
DBCC CHECKIDENT (Divisione, RESEED, 30)
Poi usa
DBCC CHECKIDENT (Divisione)
Puoi vedere che il valore attuale è 30
Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com