Šis raksts ir mašīntulkošanas spoguļraksts, lūdzu, noklikšķiniet šeit, lai pārietu uz oriģinālo rakstu.

Skats: 12402|Atbildi: 3

[Avots] Atjauniniet pašaugošās ID kolonnas darbības metodi SQL Server datu bāzē

[Kopēt saiti]
Publicēts 23.08.2018 12:20:44 | | | |
Ikdienas SQL Server izstrādē identitātes tipa kolonna bieži tiek izmantota kā tabulas struktūras pašpieaugošais numurs. Piemēram, preces numurs, ieraksta sērijas numurs utt. Atsauces uz pašaugošām identificētajām kolonnām ievērojami atvieglo datu bāzes programmu izstrādi, bet dažreiz šis spītīgais lauka veids var radīt arī nepatikšanas.

1. Modificējiet identifikācijas kolonnas lauku vērtības:

Dažreiz, lai īstenotu funkciju, ir nepieciešams mainīt identitātes tipa lauka vērtību, bet šī darbība nav atļauta pēc noklusējuma identitātes kolonnas veida dēļ. Piemēram, ja datu bāzē parasti tiek pievienoti 5 datu gabali, un 2 tiek izdzēsti, tad, ja dati tiek pievienoti vēlreiz, pašaugošajai identifikācijas kolonnai automātiski tiks piešķirta vērtība 6, bet, ja vēlaties piešķirt vērtību 3, ievietojot datus, tas nav atļauts pēc noklusējuma. Ja vēlaties mainīt šī lauka vērtību, varat pilnībā kontrolēt identifikācijas lauka vērtības ievietošanu, joprojām ir metodes, haha.

IESTATĪT IDENTITY_INSERT /[TABULA/] [IESLĒGTS| IZSLĒGTS]
Izmantojot iepriekš minēto paziņojumu, jūs varat viegli kontrolēt, vai tabulā automātiski pieaugs pašaugoša identifikatora kolonna, tas ir, vai jums ir atļauts manuāli norādīt identifikatora kolonnas lauka vērtību, ievietojot ierakstu. Ja norādīts kā ieslēgts, ievietošanas laikā var norādīt identificējošā kolonnas lauka vērtību, kas automātiski nepalielina piešķirto vērtību. Protams, ja jūs to izmantojat, jums ir jāizmanto šis paziņojums, lai izslēgtu slēdzi uz noklusējuma stāvokli, pretējā gadījumā lauks automātiski nepalielinās piešķirto vērtību, kad nākamreiz ievietojat datus.

2. Atiestatiet identifikācijas kolonnas lauka vērtību:

Kad daļa datu ieraksta tiek izdzēsta, jaunais datu ieraksts tiek pievienots vēlāk, identifikācijas kolonnas vērtībai būs liels dīkstāves intervāls, kas izskatās ļoti nepatīkami. Pat ja izdzēšat visus tabulas ierakstus, identitātes kolonnas vērtība turpinās automātiski palielināties un palielināsies bezgalīgi, nevis pieaugs no nulles. Pašaugošā lauka sēklas vērtību var atiestatīt, izmantojot šādu paziņojumu:

DBCC CHECKIDENT(TABULA, [ATKĀRTOTI| NORESEED], [1])
Iepriekš minētais paziņojums piespiedīs norādītās tabulas sēklas vērtību atiestatīt uz 1. Tomēr, ja nevēlaties atiestatīt sēklu uz 1, varat aizstāt trešo parametru ar sēklas vērtību, kuru vēlaties izmantot. Ja vēlaties uzzināt pašreizējo sēklu, nevis atiestatīt identificēto sēklu, trešā parametra iestatīšanas vietā jāizmanto NORESEED.




Iepriekšējo:SQL Server 2012 automātiskās palielināšanas kolonnas ar vērtību lēciena problēmām
Nākamo:Windows neizdodas startēt Redis pakalpojumu, kļūda 1067: process negaidīti tiek pārtraukts.
 Saimnieks| Publicēts 23.08.2018 12:57:08 |
1. Kad visi tabulas dati tiek izdzēsti, tie tiks automātiski palielināti līdz nullei. ( saīsināt tabulu TableName )

2. Neizdzēsiet tabulas datus, tieši atiestatiet automātiskās izaugsmes vērtību. ( DBCC CHECKIDENT('TableName', RESEED, 0)
 Saimnieks| Publicēts 23.08.2018 13:01:32 |
 Saimnieks| Publicēts 13.02.2019 09:59:15 |
Skatiet tabulas pašpalielinošo kolonnu pašreizējās vērtības:
    DBCC CHECKIDENT (tabulas nosaukums)

Modificējiet tabulas pašpalielinošas kolonnas pašreizējo vērtību:
    DBCC CHECKIDENT (tabulas nosaukums, RESEED, vērtība)
    RESEED nav kolonnas nosaukums, tas ir rakstīts fiksētā veidā.


Piemēram, ja vēlos mainīt tabulas Division pašpalielinošās kolonnas pašreizējo vērtību uz 30, varu izmantot šādu komandu
DBCC CHECKIDENT (divīzija, RESEED, 30)
Pēc tam izmantojiet
DBCC CHECKIDENT (nodaļa)
Jūs varat redzēt, ka pašreizējā vērtība ir 30
Atruna:
Visa programmatūra, programmēšanas materiāli vai raksti, ko publicē Code Farmer Network, ir paredzēti tikai mācību un pētniecības mērķiem; Iepriekš minēto saturu nedrīkst izmantot komerciāliem vai nelikumīgiem mērķiem, pretējā gadījumā lietotājiem ir jāuzņemas visas sekas. Informācija šajā vietnē nāk no interneta, un autortiesību strīdiem nav nekāda sakara ar šo vietni. Iepriekš minētais saturs ir pilnībā jāizdzēš no datora 24 stundu laikā pēc lejupielādes. Ja jums patīk programma, lūdzu, atbalstiet oriģinālu programmatūru, iegādājieties reģistrāciju un iegūstiet labākus oriģinālus pakalpojumus. Ja ir kādi pārkāpumi, lūdzu, sazinieties ar mums pa e-pastu.

Mail To:help@itsvse.com