Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 12402|Vastaus: 3

[Lähde] Päivitä itsestään kasvavan ID-sarakkeen toimintatapa SQL Server -tietokannassa

[Kopioi linkki]
Julkaistu 23.8.2018 12.20.44 | | | |
Päivittäisessä SQL Server -kehityksessä identiteettityypin identiteettisaraketta käytetään usein taulukkorakenteen itsestään kasvavana lukuna. Esimerkiksi artikkelinumero, levyn sarjanumero jne. Viittaukset itsestään kasvaviin tunnistettuihin sarakkeihin helpottavat merkittävästi tietokantaohjelmien kehitystä, mutta joskus tämä itsepäinen kenttätyyppi voi myös aiheuttaa ongelmia.

1. Muokkaa tunnistussarakkeen kenttäarvoja:

Joskus funktion toteuttamiseksi on tarpeen muuttaa Identity-tyyppisen kentän arvoa, joka kasvaa itsestään, mutta tämä operaatio ei ole oletuksena sallittu identiteettisarakkeen tyypin vuoksi. Esimerkiksi, jos tietokantaan lisätään normaalisti 5 tietopalaa ja 2 poistetaan tällä hetkellä, niin jos data lisätään uudelleen, itsestään kasvavalle tunnistesarakkeelle annetaan automaattisesti arvo 6, mutta jos haluat antaa arvoksi 3 syötettäessäsi dataa, se ei ole oletuksena sallittua. Jos haluat muuttaa tämän kentän arvoa, voit täysin hallita tunnistekentän arvon lisäämistä, metodeja on edelleen, haha.

ASETA IDENTITY_INSERT /[PÖYTÄ/] [PÄÄLLE| POIS]
Yllä olevan lauseen avulla voit helposti hallita, kasvaako itsestään kasvava tunnistesarakke taulukossa automaattisesti, eli saako tunnistesarakkeen kentän arvon määrittää manuaalisesti tietueen lisäämisen yhteydessä. Jos se on määritetty kuten päällä, voit määrittää tunnistesarakkeen kentän arvon lisäyksen yhteydessä, mikä ei automaattisesti kasvata annettua arvoa. Tietenkin, jos käytät sen loppuun, sinun täytyy käyttää tätä lausetta sammuttaaksesi kytkin oletustilaan, muuten kenttä ei automaattisesti lisää annettua arvoa, kun lisäät dataa seuraavalla kerralla.

2. Nollaa tunnistesarakkeen kenttäarvo:

Kun osa datatietueesta poistetaan ja uusi tietue lisätään myöhemmin, tunnistesarakkeen arvolla on pitkä lepotilasväli, mikä näyttää hyvin epämiellyttävältä. Vaikka poistaisit kaikki tietueet taulukosta, identiteettisarakkeen arvo kasvaa automaattisesti ja loputtomasti, eikä kasvaisi alusta alkaen. Itsestään kasvavan pellon siemenarvo voidaan nollata käyttämällä seuraavaa lausetta:

DBCC CHECKIDENT(TABLE, [UUDELLEENSIEMEN| NORESEED], [1])
Yllä oleva lause pakottaa määritellyn taulukon siemenarvon nollattavaksi arvoon 1. Jos et kuitenkaan halua nollata siementä arvoon 1, voit korvata kolmannen parametrin haluamallasi siemenarvolla. Jos haluat tietää nykyisen siemenen sen sijaan, että nollaisit tunnistetun siemenen, sinun täytyy käyttää NORESEEDia kolmannen parametrin sijaan.




Edellinen:SQL Server 2012 -sarakkeet kasvavat automaattisesti, joissa on arvohyppyongelmia
Seuraava:Windows ei käynnistä Redis-palvelua, virhe 1067: Prosessi päättyy yllättäen.
 Vuokraisäntä| Julkaistu 23.8.2018 12.57.08 |
1. Kun kaikki taulukon tiedot poistetaan, se kasvaa automaattisesti nollaan. ( lyhennetty taulukko TableName )

2. Älä poista taulukon tietoja, vaan nollaa suoraan automaattikasvun arvo. ( DBCC CHECKIDENT ('TableName', UUDELLEENSIEMEN, 0)
 Vuokraisäntä| Julkaistu 23.8.2018 13.01.32 |
 Vuokraisäntä| Julkaistu 13.2.2019 9.59.15 |
Katso itsestään kasvavan sarakkeen nykyiset arvot taulukossa:
    DBCC CHECKIDENT (TableName)

Muokkaa itsestään kasvavan sarakkeen nykyistä arvoa taulukossa:
    DBCC CHECKIDENT (TableName, RESEED, value)
    RESSEED ei ole sarakkeen nimi, se kirjoitetaan kiinteällä tavalla.


Esimerkiksi, jos haluan muuttaa itsestään kasvavan sarakkeen nykyisen arvon Division-taulukossa arvoon 30, voin käyttää seuraavaa komentoa
DBCC CHECKIDENT (Divisioona, UUDELLEENSIJOITETTU, 30)
Sitten käytä
DBCC CHECKIDENT (divisioona)
Näet, että nykyinen arvo on 30
Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com