Kuidas parandada viga „Ei saa tabelisse identiteedi veeru selgesõnalist väärtust lisada, kui IDENTITY_INSERT on seatud olekusse OFF”?



Proovige Meie Instrumenti Probleemide Kõrvaldamiseks

SQL Serveri andmebaasi koostamisel määratakse primaarvõtme veerg sageli automaatseks kasvuks. Selle tegemiseks on põhivõtme veeru jaoks määratud IDENTITY-piirang. Alguskoht ja juurdekasvu samm viiakse parameetritena veergu IDENTITY. Kui alati lisatakse uus kirje ja identiteedi sisestus on asendis VÄLJAS, suurendatakse veeru IDENTITSUS väärtust eelnevalt määratletud sammu võrra, tavaliselt arvuga. Veelgi enam, atribuudi IDENTITY INSERT olekuks ON seatud ainult üks tabel ühe seansi jaoks.



Selles artiklis käsitleme viga 'Tabelisse ei saa identiteedi veeru selget väärtust lisada

kui IDENTITY_INSERT on seatud VÄLJAS ” nagu allpool näidatud.



„IDENTITY INSERT OFF” väljalülitamine ja andmete sisestamine ilma „PRIMARY KEY ID” sisestamislausesse



Viga ilmneb siis, kui kasutaja on seadistanud „identiteedi sisestamise” olekuks „VÄLJAS”. Seejärel proovib andmed sõnaselgelt sisestada tabeli primaarvõtme veergu. Seda saab selgitada allpool toodud näite abil.

Andmebaasi ja tabeli loomine:

Kõigepealt looge andmebaas nimega “appuals”.

Andmebaasi loomine nimega “appuals”.



Looge järgmise koodi abil tabel nimega “inimene”. Ehitatud laud a abil „PÕHIVÕTI IDENTITEET”

Loo tabel inimene (ID ID IDENTITEET (1, 1), eesnimi VARCHAR (MAX), perekonnanimi VARCHAR (MAX))

Tabeli nimega „inimene” loomine

„Identiteedi_sisselülitamise väljalülitamise | süntaks peal':

The “Set identiteedi sisestamine välja | peal' aitab meil selle vea lahendada. Selle lause õige süntaks on järgmine.

Määra IDENTITY_INSERT. .
PEAL

Esimene argument on selle andmebaasi nimi, kus tabel asub. Teine argument näitab skeemi, kuhu see tabel kuulub, mille identiteedi väärtuseks tuleb määrata PEAL või VÄLJAS . Kolmas argument

on tabel identiteedi veeruga.

Andmete sisestamiseks tabelisse on vigadeta põhimõtteliselt kaks erinevat viisi. Neid peetakse selle vea lahenduseks ja neid käsitletakse allpool.

Viga 1: määrake identiteedi_sisene VÄLJAS

Esimesel juhul sisestame andmed tabelisse „IDENTITEETI SISESTAMINE” seatud 'VÄLJAS' . Seega, kui INSERT-lauses on ID olemas, saate vea 'Tabelisse' isik 'ei saa identiteedi veeru selget väärtust lisada, kui IDENTITY_INSERT on seatud olekusse VÄLJAS.

Käivitage järgmine kood vahekaardil päring.

lülita identiteedi_sisene isik välja; sisestage isiku (ID, eesnimi, perekonnanimi) väärtused (3, 'Sadia