De primaire sleutelkolom wordt vaak ingesteld op automatisch verhogen bij het samenstellen van een SQL Server-database. De IDENTITY-limiet is ingesteld voor de primaire sleutelkolom om dit te doen. De startlocatie en stap van verhoging worden als parameters overgebracht naar de IDENTITY-kolom. Telkens wanneer een nieuw record wordt toegevoegd en de identiteitsinvoeging is ingesteld op UIT, wordt de waarde van de IDENTITEIT-kolom verhoogd met de vooraf gedefinieerde stap, normaal gesproken een getal. Bovendien wordt de eigenschap IDENTITY INSERT slechts voor één tabel in één sessie op ON gezet.
In dit artikel bespreken we de fout “Kan geen expliciete waarde invoegen voor identiteitskolom in tabel De 'IDENTITY INSERT OFF' zetten, en gegevens invoegen zonder 'PRIMARY KEY ID' in insert statement De fout treedt op wanneer de gebruiker 'identity_insert' op 'OFF' heeft gezet. Probeert vervolgens expliciet gegevens in de primaire sleutelkolom van de tabel in te voegen. Dit kan worden uitgelegd aan de hand van het onderstaande voorbeeld. Maak eerst een database met de naam 'appuals'. Een database aanmaken met de naam 'appuals'. Maak een tabel met de naam 'persoon' met de volgende code. Gebouwde tafel met behulp van een 'PRIMARY KEY IDENTITY' Een tabel maken met de naam ‘persoon’ De “Set identity_insert off | Aan' zal ons helpen deze fout op te lossen. De juiste syntaxis voor deze verklaring is zoals hieronder. Terwijl het eerste argument de naam is van de database waarin de tabel zich bevindt. Het tweede argument dat aantoont is het schema waartoe die tabel behoort, waarvan de identiteitswaarde moet worden ingesteld AAN of UIT . Het derde argument Er zijn fundamenteel twee verschillende manieren om gegevens foutloos in de tabel in te voegen. Deze worden beschouwd als de oplossing voor deze fout en worden hieronder besproken. In het eerste geval zullen we gegevens in de tabel invoegen met de 'IDENTITY INSERT' ingesteld op 'UIT' . Dus als de ID aanwezig is in de INSERT-instructie, krijgt u de foutmelding 'Kan geen expliciete waarde invoegen voor identiteitskolom in tabel‘ person ’wanneer IDENTITY_INSERT is ingesteld op UIT'. Voer de volgende code uit op het tabblad Query.wanneer IDENTITY_INSERT is ingesteld op OFF ' zoals hieronder weergegeven.
Database en tabel maken:
CREATE TABLE persoon (ID INT IDENTITY (1, 1), voornaam VARCHAR (MAX), achternaam VARCHAR (MAX))
Syntaxis voor het instellen van “identity_insert off | Aan':
SET IDENTITY_INSERT. .
AAN
is de tabel met de identiteitskolom.
Fout 1: zet identity_insert UIT
zet identity_insert person uit; invoegen in persoon (ID, voornaam, achternaam) waarden (3, 'Sadia