Kako ispraviti pogrešku 'Ne mogu umetnuti eksplicitnu vrijednost za stupac identiteta u tablici kada je IDENTITY_INSERT postavljeno na OFF'?



Isprobajte Naš Instrument Za Uklanjanje Problema

Stupac primarnog ključa često se postavlja na automatsko povećanje pri konstruiranju baze podataka SQL Servera. Ograničenje IDENTITETA postavljeno je za stupac primarnog ključa da to učini. Početno mjesto i korak povećanja prenose se u stupac IDENTITY kao parametri. Zatim kad god se doda novi zapis i kada se umetak identiteta postavi na OFF, vrijednost stupca IDENTITY povećava se za unaprijed definirani korak, obično brojem. Štoviše, svojstvo IDENTITY INSERT postavljeno je na ON samo za jednu tablicu u jednoj sesiji.



U ovom ćemo članku razgovarati o pogrešci „U tablicu nije moguće umetnuti eksplicitnu vrijednost za stupac identiteta

kada je IDENTITY_INSERT postavljeno na OFF ' kao što je prikazano niže.



Isključivanje 'INSERT IDENTITY INSERT' i umetanje podataka bez 'PRIMARY KEY ID' u izjavu za umetanje



Pogreška nastaje kada je korisnik postavio 'identity_insert' na 'OFF'. Zatim pokušava eksplicitno umetnuti podatke u stupac primarnog ključa tablice. To se može objasniti primjerom u nastavku.

Izrada baze podataka i tablice:

Prvo stvorite bazu podataka pod nazivom 'appuals'.

Stvaranje baze podataka pod nazivom 'appuals'.



Stvorite tablicu s imenom 'osoba' pomoću sljedećeg koda. Izgrađeni stol pomoću a “OSNOVNI KLJUČNI IDENTITET”

STVORI TABELU osoba (ID INT IDENTITET (1, 1), ime VARCHAR (MAX), prezime VARCHAR (MAX))

Izrada tablice s imenom 'osoba'

Sintaksa za postavljanje “identity_insert off | na':

The “Postavi insert_insert off | na' pomoći će nam riješiti ovu pogrešku. Ispravna sintaksa za ovu izjavu je kao u nastavku.

POSTAVITE IDENTITET_INSERT. .
NA

Dok je prvi argument naziv baze podataka u kojoj se nalazi tablica. Drugi argument pokazuje shema kojoj pripada ta tablica čija vrijednost identiteta mora biti postavljena NA ili ISKLJUČENO . Treći argument

je tablica sa stupcem identiteta.

Postoje u osnovi dva različita načina umetanja podataka u tablicu bez pogreške. Oni se smatraju rješenjem ove pogreške i raspravljaju se u nastavku.

Pogreška 1: ISKLJUČITE identity_insert

U prvom ćemo slučaju umetnuti podatke u tablicu s “UMETAK IDENTITETA” postavljen 'ISKLJUČENO' . Dakle, ako je ID prisutan u izjavi INSERT, dobit ćete pogrešku 'Ne može se umetnuti eksplicitna vrijednost za stupac identiteta u tablici' osoba 'kada je IDENTITY_INSERT postavljeno na OFF'.

Izvršite sljedeći kod na kartici upita.

isključiti identity_insert person; umetnite u vrijednosti osobe (ID, ime, prezime) (3, 'Sadia