Kasdien kuriant SQL serverį, tapatybės tipo tapatybės stulpelis dažnai naudojamas kaip savaime augantis lentelės struktūros skaičius. Pavyzdžiui, prekės numeris, įrašo serijos numeris ir kt. Nuorodos į savaime augančius identifikuotus stulpelius labai palengvina duomenų bazių programų kūrimą, tačiau kartais šis užsispyręs lauko tipas taip pat gali sukelti tam tikrų problemų.
1. Pakeiskite identifikavimo stulpelio lauko reikšmes:
Kartais, norint įgyvendinti funkciją, reikia modifikuoti Tapatybės savaime augančio tipo lauko reikšmę, tačiau ši operacija pagal numatytuosius nustatymus neleidžiama dėl tapatybės stulpelio tipo. Pavyzdžiui, jei duomenų bazėje paprastai pridedami 5 duomenų vienetai, o 2 šiuo metu ištrinami, tada, jei duomenys bus pridėti dar kartą, savaime augančiam identifikavimo stulpeliui bus automatiškai priskirta 6 reikšmė, tačiau jei įterpdami duomenis norite priskirti 3 reikšmę, pagal numatytuosius nustatymus tai neleidžiama. Jei norite pakeisti šio lauko vertę, galite visiškai kontroliuoti identifikavimo lauko vertės įterpimą, vis dar yra metodų, haha.
NUSTATYTI IDENTITY_INSERT /[LENTELĖ/] [ĮJUNGTA| IŠJUNGTA] Naudodamiesi aukščiau pateiktu teiginiu, galite lengvai kontroliuoti, ar savaime augantis identifikatoriaus stulpelis lentelėje automatiškai augs, tai yra, ar įterpiant įrašą leidžiama rankiniu būdu nurodyti identifikatoriaus stulpelio lauko reikšmę. Jei nurodyta kaip įjungta, įterpdami galite nurodyti identifikavimo stulpelio lauko reikšmę, kuri automatiškai nepadidina priskirtos reikšmės. Žinoma, jei jį sunaudosite, turite naudoti šį teiginį, kad išjungtumėte jungiklį į numatytąją būseną, kitaip laukas automatiškai nepadidins priskirtos vertės, kai kitą kartą įterpsite duomenis.
2. Iš naujo nustatykite identifikavimo stulpelio lauko reikšmę:
Panaikinus dalį duomenų įrašo, vėliau pridedant naują duomenų įrašą, identifikavimo stulpelio reikšmė turės didelį tuščiosios eigos intervalą, o tai atrodo labai nemalonu. Net jei panaikinsite visus lentelės įrašus, tapatybės stulpelio reikšmė ir toliau didės automatiškai ir be galo, o ne augs nuo nulio. Savaime augančio lauko sėklos vertę galima iš naujo nustatyti naudojant šį teiginį:
DBCC CHECKIDENT(LENTELĖ, [IŠ NAUJO| NORESEED], [1]) Aukščiau pateiktas teiginys privers nurodytos lentelės pradinę reikšmę iš naujo nustatyti į 1. Tačiau, jei nenorite iš naujo nustatyti sėklos į 1, galite pakeisti trečiąjį parametrą norima naudoti pradinės vertės reikšme. Jei norite sužinoti dabartinę sėklą, o ne iš naujo nustatyti nustatytą sėklą, turite naudoti NORESEED, o ne nustatyti trečią parametrą. |