Sloupec primárního klíče je často nastaven na automatický přírůstek při konstrukci databáze serveru SQL Server. K tomu je pro sloupec primárního klíče nastaven limit IDENTITY. Počáteční umístění a krok přírůstku se přenesou do sloupce IDENTITY jako parametry. Potom, kdykoli je přidán nový záznam a vložka identity je nastavena na OFF, hodnota sloupce IDENTITY se zvýší o předem definovaný krok, obvykle o číslo. Vlastnost IDENTITY INSERT je navíc nastavena na ON pouze pro jednu tabulku v jedné relaci.
V tomto článku probereme chybu „Nelze vložit explicitní hodnotu pro sloupec identity v tabulce Vypnutí funkce „IDENTITY INSERT OFF“ a vložení dat bez „ID PRIMARY KEY“ do příkazu insert Chyba nastane, když uživatel nastavil „identity_insert“ na „OFF“. Pak se pokusí explicitně vložit data do sloupce primárního klíče tabulky. To lze vysvětlit pomocí níže uvedeného příkladu. Nejprve vytvořte databázi s názvem „appuals“. Vytvoření databáze s názvem „appuals“. Vytvořte tabulku s názvem „osoba“ pomocí následujícího kódu. Postavený stůl pomocí a „PRIMÁRNÍ KLÍČOVÁ IDENTITA“ Vytvoření tabulky s názvem „osoba“ The „Vypnout vložení identity | | na' pomůže nám tuto chybu vyřešit. Správná syntaxe tohoto příkazu je uvedena níže. Zatímco první argument je název databáze, ve které je tabulka umístěna. Druhým argumentem je schéma, do kterého tato tabulka patří, jejíž hodnota identity musí být nastavena NA nebo VYPNUTO . Třetí argument Existují zásadně dva různé způsoby vkládání dat do tabulky bez chyby. Ty jsou považovány za řešení této chyby a jsou popsány níže. V prvním případě vložíme data do tabulky s „IDENTITY INSERT“ nastaven na 'VYPNUTO' . Pokud je tedy ID v příkazu INSERT, zobrazí se chyba „Nelze vložit explicitní hodnotu pro sloupec identity do tabulky„ osoba “, když je IDENTITY_INSERT nastaveno na VYPNUTO.“ Na kartě dotazu proveďte následující kód.když je IDENTITY_INSERT nastaveno na VYPNUTO “ Jak je ukázáno níže.
Vytvoření databáze a tabulky:
CREATE TABLE person (ID INT IDENTITY (1, 1), first_name VARCHAR (MAX), last_name VARCHAR (MAX))
Syntaxe pro nastavení „identity_insert off | na':
NASTAVTE IDENTITY_INSERT. .
NA
je tabulka se sloupcem identity.
Chyba 1: Nastavte identity_insert VYPNUTO
vypnout osobu identity_insert; vložte do osob (ID, křestní jméno, příjmení) hodnoty (3, 'Sadia