Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 12402|Svare: 3

[Kilde] Oppdater operasjonsmetoden for den selvvoksende ID-kolonnen i SQL Server-databasen

[Kopier lenke]
Publisert på 23.08.2018 12:20:44 | | | |
I daglig utvikling av SQL Server brukes ofte identitetskolonnen til Identity-typen som det selvvoksende tallet til en tabellstruktur. For eksempel artikkelnummer, postserienummer, osv. Referanser til selvvoksende identifiserte kolonner letter utviklingen av databaseprogrammer betydelig, men noen ganger kan denne sta felttypen også skape problemer.

1. Endre feltverdiene i identifikasjonskolonnen:

Noen ganger, for å implementere en funksjon, er det nødvendig å endre verdien av et felt av typen Identity selvvoksende, men denne operasjonen er ikke tillatt som standard på grunn av typen identitetskolonne. For eksempel, hvis det legges til 5 databiter normalt i databasen, og 2 slettes på dette tidspunktet, vil den selvvoksende identifikasjonskolonnen automatisk få verdien 6 hvis dataene legges til igjen, men hvis du ønsker å tildele verdien 3 ved innsetting av data, er det ikke tillatt som standard. Hvis du vil endre verdien av dette feltet, kan du fullstendig kontrollere innsettingen av verdien av identifikasjonsfeltet, det finnes fortsatt metoder, haha.

DEKK IDENTITY_INSERT /[BORD/] [PÅ| AV]
Ved å bruke setningen ovenfor kan du enkelt kontrollere om en selvvoksende identifikatorkolonne i en tabell automatisk vokser, det vil si om du har lov til å manuelt spesifisere verdien av identifikatorkolonnefeltet når du setter inn en post. Hvis det er spesifisert som på, kan du angi verdien til det identifiserende kolonnefeltet ved innsetting, noe som ikke automatisk øker den tildelte verdien. Selvfølgelig, hvis du bruker den opp, må du bruke denne setningen for å slå av bryteren til standardtilstanden, ellers vil ikke feltet automatisk øke den tildelte verdien når du setter inn data neste gang.

2. Tilbakestill feltverdien til identifikasjonskolonnen:

Når en del av dataposten slettes, og den nye dataposten legges til senere, vil verdien av identifikasjonskolonnen ha et stort ledig intervall, noe som ser veldig ubehagelig ut. Selv om du sletter alle poster i tabellen, vil verdien av identitetskolonnen fortsette å øke automatisk og øke uendelig, i stedet for å vokse fra bunnen av. Frøverdien til det selvvoksende feltet kan tilbakestilles ved å bruke følgende utsagn:

DBCC CHECKIDENT(TABELL, [RESEED| NORESEED], [1])
Setningen ovenfor vil tvinge frøverdien til den angitte tabellen til å tilbakestilles til 1. Men hvis du ikke vil tilbakestille frøet til 1, kan du erstatte den tredje parameteren med frøverdien du vil bruke. Hvis du vil vite det nåværende frøet i stedet for å tilbakestille det identifiserte frøet, må du bruke NORESEED i stedet for å sette den tredje parameteren.




Foregående:SQL Server 2012 auto-vokser kolonner med verdihopp-problemer
Neste:Windows klarer ikke å starte Redis-tjenesten, feil 1067: Prosessen avsluttes uventet.
 Vert| Publisert på 23.08.2018 12:57:08 |
1. Når all data i tabellen slettes, vil den automatisk økes til null. ( avkort tabell Tabellnavn )

2. Ikke slett dataene i tabellen, tilbakestill verdien av automatisk vekst direkte. ( DBCC CHECKIDENT('TableName', RESEED, 0)
 Vert| Publisert på 23.08.2018 13:01:32 |
 Vert| Publisert på 13.02.2019 09:59:15 |
Se de nåværende verdiene til de selvøkende kolonnene i en tabell:
    DBCC CHECKIDENT (TableName)

Endre den nåværende verdien til en selvøkende kolonne i en tabell:
    DBCC CHECKIDENT (TableName, RESEED, value)
    RESEED er ikke et kolonnenavn, det skrives på en fast måte.


For eksempel, hvis jeg vil endre den nåværende verdien til den selvøkende kolonnen i divisjonstabellen til 30, kan jeg bruke følgende kommando
DBCC CHECKIDENT (Divisjon, SEEDING, 30)
Bruk så
DBCC CHECKIDENT (divisjon)
Du kan se at den nåværende verdien er 30
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com