•   Posted in: 
  • SQL

Onlangs moest ik enkele records restoren in een SQL database, omdat die waren verwijderd. Op zich geen probleem, afgezien van het feit dat er een primary key op een van de kolommen zat die automatisch werd verhoogd. Nogal vervelend als je een record moet toevoegen met een specifieke primary key.

Ik kreeg dan ook de volgende melding:

An explicit value for the identity column in table '<TABLE_NAME>' can only be specified when a column list is used and IDENTITY_INSERT is ON.

Na even zoeken heb ik toch een oplossing gevonden.

Blijkbaar kun je het genereren van een nieuw ID tijdelijk uitschakelen.

Hier heb je het commando SET IDENTITY_INSERT table_name ON. Je kunt nu zelf een ID opgeven. Zodra je klaar bent dient deze feature wel weer uit te worden gezet door SET IDENTITY_INSERTtable_name OFF.

Nog iets dat gedaan moest worden is het expliciet opgeven van de kolommen die ik wilde invoeren. Ook geen probleem, maar je moet het wel weer allemaal uit typen.

comments powered by Disqus