Kuinka korjata virhe 'Ei voida lisätä nimenomaista arvoa henkilöllisyyssarakkeeseen taulukkoon, kun IDENTITY_INSERT on asetettu POIS'



Kokeile Instrumenttia Ongelmien Poistamiseksi

Ensisijaisen avaimen sarake asetetaan usein automaattiseen lisäykseen SQL Server -tietokantaa rakennettaessa. IDENTITY-raja on asetettu ensisijaisen avaimen sarakkeelle tätä varten. Aloituspaikka ja lisäysvaihe siirretään IDENTITY-sarakkeeseen parametreina. Sitten aina kun lisätään uusi tietue ja henkilöllisyystiedote asetetaan OFF-asentoon, IDENTITY-sarakkeen arvoa lisätään ennalta määritetyllä askeleella, yleensä numerolla. Lisäksi ominaisuus IDENTITY INSERT on asetettu asentoon ON vain yhdelle taulukolle yhdessä istunnossa.



Tässä artikkelissa keskustelemme virheestä 'Taulukkoon ei voida lisätä nimenomaista identiteettisarakkeen arvoa

kun IDENTITY_INSERT on asetettu pois päältä ” kuten alla.



'IDENTITY INSERT OFF' -asetuksen poistaminen käytöstä ja tietojen lisääminen ilman 'PRIMARY KEY ID' -tunnistetta lisäyslausekkeeseen



Virhe syntyy, kun käyttäjä on asettanut “henkilöllisyystunnus” -asetukseksi ”POIS”. Sitten yritetään lisätä tietoja taulukon ensisijaisen avaimen sarakkeeseen nimenomaisesti. Tämä voidaan selittää käyttämällä alla olevaa esimerkkiä.

Tietokannan ja taulukon luominen:

Luo ensin tietokanta nimeltä ”appuals”.

Luodaan 'appuals' -tietokanta.



Luo taulukko nimeltä 'henkilö' käyttämällä seuraavaa koodia. Rakennettu pöytä käyttämällä a 'ENSIMMÄINEN AVAINTIETOJA'

LUO TAULUKKO henkilö (ID INT IDENTITY (1, 1), etunimi VARCHAR (MAX), sukunimi VARCHAR (MAX))

'Henkilö' -taulukon luominen

Syntaksi henkilöllisyyden_lisäys pois käytöstä päällä':

“Set identity_insert off | päällä' auttaa meitä ratkaisemaan tämän virheen. Tämän lauseen oikea syntaksia on kuten alla.

Määritä IDENTITY_INSERT. .
PÄÄLLÄ

Ensimmäinen argumentti on tietokannan nimi, jossa taulukko sijaitsee. Toinen argumentti osoittaa, että kaavio, johon taulukko kuuluu, jonka identiteettiarvo on asetettava PÄÄLLÄ tai VINOSSA . Kolmas väite

on identiteettisarakkeen sisältävä taulukko.

Taulukossa on periaatteessa kaksi erilaista tapaa lisätä virheettömästi. Näitä pidetään ratkaisuna tähän virheeseen ja niitä käsitellään jäljempänä.

Virhe 1: Aseta henkilöllisyyden_lisäys POIS

Ensimmäisessä tapauksessa lisätään tiedot taulukkoon 'TUNNISTETIEDOT' asetettu 'VINOSSA' . Joten jos tunnus on INSERT-käskyssä, saat virheen 'Identiteettisarakkeen nimenomaista arvoa ei voi lisätä taulukkoon' henkilö ', kun IDENTITY_INSERT-asetus on POIS.'

Suorita seuraava koodi kyselyvälilehdessä.

aseta henkilöllisyys_lisää henkilö pois päältä; insert to person (tunnus, etunimi, sukunimi) arvot (3, 'Sadia