Oppaat

Kuinka korjata virhe "Ei voida lisätä nimenomaista arvoa henkilöllisyyssarakkeeseen taulukkoon, kun IDENTITY_INSERT on asetettu pois päältä"?

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ä "Ei voida lisätä nimenomaista arvoa henkilöllisyyssarakkeeseen taulukkoon

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

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”.

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

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

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 päältä

Ensimmäisessä tapauksessa lisäämme tietoja taulukkoon "TUNNISTETIEDOT" asetettu "VINOSSA". Joten jos tunnus on INSERT-käskyssä, saat virheen "Identiteettisarakkeen nimenomaista arvoa ei voida lisätä taulukkoon" henkilö ", kun IDENTITY_INSERT on asetettu pois päältä."

Suorita seuraava koodi kyselyvälilehdessä.

 aseta henkilöllisyys_lisää henkilö pois päältä; lisää henkilöihin (tunnus, etunimi, sukunimi) arvot (3, 'Sadia', 'Majeed'), (4, 'Michel', 'Ronald')

Tulos on tällainen.

Ratkaisu:

Kun käännät "IDENTITY INSERT OFF","PERUSAUKKOTUNNUS" EI SAA olla läsnä lisäyslausekkeessa

Suorita nyt seuraava koodi kyselyvälilehdessä

 aseta henkilöllisyys_lisää henkilö pois päältä; lisää henkilöön (etunimi, sukunimi) -arvot ('Sadia', 'Majeed'), ('Michel', 'Ronald')

Tämä lisää tietoja taulukkoon ilman virheitä. Lisäksi käyttäjän ei tarvitse lisätä PRIMARY KEY ID -tunnusta, vaan se lisää yksilöllisen ID-arvon automaattisesti alla olevan kuvan mukaisesti.

Virhe 2: Aseta henkilöllisyyden_lisäys päälle

Toisessa tapauksessa lisätään tiedot taulukkoon "TUNNISTETIEDOT" asetettu "PÄÄLLÄ". Joten, jos tunnusta ei ole INSERT-käskyssä, saat virheen "Viesti 545, taso 16, tila 1, rivi 17. Taulukon" henkilö "henkilöllisyyssarakkeelle on määritettävä eksplisiittinen arvo joko silloin, kun IDENTITY_INSERT-asetus on PÄÄLLÄ tai kun replikaation käyttäjä lisää NOT REPLICATION -identiteettisarakkeeseen.

Ratkaisu:

Kun käännät"IDENTITY INSERT ON" "PÄÄAVAIN Henkilöllisyystodistus ” on oltava läsnä lisäyslausekkeessa.

Suorita seuraava koodi kyselyvälilehdessä

 aseta henkilöllisyys_lisää henkilö päälle; lisää henkilöihin (tunnus, etunimi, sukunimi) arvot (5, 'Jack', 'musta'), (6, 'john', 'Wicky')

Tämä lisää tietoja taulukkoon ilman virheitä. Siten ENSIMMÄINEN AVAINTUNNUS käyttäjän nimenomaisesti vaaditaan lisäämän. Se ei myöskään lisää yksilöllistä ID-arvoa automaattisesti, kuten alla olevassa kuvassa näkyy.

Jos sinä "Määritä henkilöllisyyden lisäys päälle ”, se pysyy päällä koko istunnon ajan. Näin voit lisätä niin monta tietueita kuin haluat, kun tämä on asetettu. Tämä viittaa myös vain istuntoon, jossa se on käytössä. Joten jos avaat toisen kyselyvälilehden, sinun on käännettävä se PÄÄLLÄ uudelleen kyseiselle kyselyikkunalle.

Copyright fi.absolutsilverpoint.com 2024

$config[zx-auto] not found$config[zx-overlay] not found