La colonne de clé primaire est souvent définie sur l'incrémentation automatique lors de la construction d'une base de données SQL Server. La limite IDENTITY est activée pour la colonne de clé primaire pour ce faire. L'emplacement de départ et l'étape d'incrémentation sont transférés dans la colonne IDENTITY en tant que paramètres. Ensuite, chaque fois qu'un nouvel enregistrement est ajouté et que l'insertion d'identité est définie sur OFF, la valeur de la colonne IDENTITY est augmentée de l'étape prédéfinie normalement un nombre. De plus, la propriété IDENTITY INSERT est définie sur ON uniquement pour une table dans une seule session.
Dans cet article, nous discuterons de l'erreur 'Impossible d'insérer une valeur explicite pour la colonne d'identité dans la table Désactivation de «IDENTITY INSERT OFF» et insertion de données sans «PRIMARY KEY ID» dans l'instruction d'insertion L'erreur survient lorsque l'utilisateur a défini «identity_insert» sur «OFF». Essaie ensuite d'insérer explicitement des données dans la colonne de clé primaire de la table. Cela peut être expliqué à l'aide de l'exemple ci-dessous. Tout d'abord, créez une base de données nommée «appuals». Création d'une base de données nommée «appuals». Créez une table nommée «personne» à l'aide du code suivant. Table construite à l'aide d'un 'IDENTITÉ PRIMAIRE DE LA CLÉ' Créer une table nommée 'personne' le “Set identity_insert off | sur' nous aidera à résoudre cette erreur. La syntaxe correcte pour cette instruction est la suivante. Alors que le premier argument est le nom de la base de données dans laquelle se trouve la table. Le deuxième argument montre le schéma auquel appartient cette table dont la valeur d'identité doit être définie sur SUR ou DE . Le troisième argument Il existe fondamentalement deux manières différentes d'insérer des données dans la table sans erreur. Ceux-ci sont considérés comme la solution à cette erreur et sont décrits ci-dessous. Dans le premier cas, nous insérerons des données dans le tableau avec le 'IDENTITY INSERT' mis à 'DE' . Donc, si l'ID est présent dans l'instruction INSERT, vous obtiendrez l'erreur 'Impossible d'insérer une valeur explicite pour la colonne d'identité dans la table' personne 'lorsque IDENTITY_INSERT est défini sur OFF'. Exécutez le code suivant dans l'onglet de requête.lorsque IDENTITY_INSERT est défini sur OFF ' comme indiqué ci-dessous.
Création de bases de données et de tables:
CREATE TABLE personne (ID INT IDENTITY (1, 1), prénom VARCHAR (MAX), nom VARCHAR (MAX))
Syntaxe pour définir «identity_insert off | sur':
SET IDENTITY_INSERT. .
SUR
est la table avec la colonne d'identité.
Erreur 1: définissez identity_insert sur OFF
désactiver la personne identity_insert; insérer dans la personne (ID, prénom, nom) les valeurs (3, 'Sadia