Stĺpec primárneho kľúča je často nastavený na automatický prírastok pri konštrukcii databázy SQL Server. Pre stĺpec primárneho kľúča je nastavený limit IDENTITY. Počiatočné umiestnenie a krok prírastku sa prenesú do stĺpca IDENTITY ako parametre. Potom vždy, keď je pridaný nový záznam a vložka identity je nastavená na OFF, hodnota stĺpca IDENTITY sa zvýši o vopred definovaný krok, obvykle o číslo. Vlastnosť IDENTITY INSERT je navyše nastavená na ZAPNUTÉ iba pre jednu tabuľku v jednej relácii.
V tomto článku si rozoberieme chybu „Nie je možné vložiť explicitnú hodnotu pre stĺpec identity do tabuľky Vypnutie funkcie „IDENTITY INSERT OFF“ a vkladanie údajov bez „ID PRIMARY KEY“ do príkazu insert Chyba nastáva, keď používateľ nastavil „identity_insert“ na „OFF“. Potom sa pokúsi explicitne vložiť údaje do stĺpca primárneho kľúča v tabuľke. To možno vysvetliť na príklade uvedenom nižšie. Najskôr vytvorte databázu s názvom „appuals“. Vytvorenie databázy s názvom „appuals“. Pomocou nasledujúceho kódu vytvorte tabuľku s názvom „osoba“. Postavený stôl pomocou a „PRIMÁRNA KLÍČOVÁ IDENTITA“ Vytvorenie tabuľky s názvom „osoba“ The „Vypnúť vloženie identity | na ” pomôže nám vyriešiť túto chybu. Správna syntax pre tento príkaz je uvedená nižšie. Zatiaľ čo prvým argumentom je názov databázy, v ktorej je tabuľka umiestnená. Druhým argumentom je schéma, do ktorej patrí táto tabuľka, ktorej hodnota identity musí byť nastavená ZAP alebo VYPNUTÉ . O treťom argumente V zásade existujú dva rôzne spôsoby bezchybného vkladania údajov do tabuľky. Považujú sa za riešenie tejto chyby a sú diskutované nižšie. V prvom prípade vložíme údaje do tabuľky s „IDENTITY INSERT“ nastavený na „VYPNUTÉ“ . Takže ak je ID prítomné vo vyhlásení INSERT, zobrazí sa chyba „Nie je možné vložiť explicitnú hodnotu pre stĺpec identity do tabuľky„ osoba “, keď je položka IDENTITY_INSERT nastavená na hodnotu VYPNUTÉ. Na karte dotazu vykonajte nasledujúci kód.keď je IDENTITY_INSERT nastavený na VYPNUTÉ “ ako je uvedené nižšie.
Vytvorenie databázy a tabuľky:
CREATE TABLE osoba (ID INT IDENTITA (1, 1), meno_VARCHAR (MAX), priezvisko VARCHAR (MAX))
Syntax pre nastavenie „identity_ vloženie vypnuté | na ”:
NASTAVIŤ IDENTITY_INSERT. .
ZAP
je tabuľka so stĺpcom identity.
Chyba 1: Nastavte identity_insert na VYPNUTÉ
vypnúť osobu s identitou; vložte do osoby (ID, meno, priezvisko, priezvisko) hodnoty (3, 'Sadia