Maison >base de données >tutoriel mysql >Comment résoudre l'erreur « Impossible d'insérer une valeur explicite pour la colonne d'identité » ?
Résolution de l'erreur « Impossible d'insérer une valeur explicite pour la colonne d'identité »
Lorsque vous insérez des enregistrements dans une table contenant une colonne d'identité (telle qu'une clé primaire à incrémentation automatique), assurez-vous de laisser la base de données générer automatiquement une valeur pour cette colonne. Si vous essayez de spécifier manuellement une valeur pour une colonne d'identité lorsque la propriété IDENTITY_INSERT est définie sur OFF, une erreur se produit.
Solution
Pour résoudre ce problème, vous devez définir IDENTITY_INSERT sur ON avant d'insérer l'enregistrement :
<code class="language-sql">SET IDENTITY_INSERT 表名 ON</code>
Cela vous permettra d'insérer votre propre valeur d'identité spécifiée. N'oubliez pas de redéfinir IDENTITY_INSERT sur OFF après l'insertion pour éviter de futurs problèmes :
<code class="language-sql">SET IDENTITY_INSERT 表名 OFF</code>
Déclaration d'insertion modifiée
Maintenant que IDENTITY_INSERT est activé, vous pouvez insérer des enregistrements comme prévu :
<code class="language-sql">SET IDENTITY_INSERT 表名 ON INSERT INTO 表名(OperationID, OpDescription, FilterID) VALUES (20, 'Hierachy Update', 1) SET IDENTITY_INSERT 表名 OFF</code>
Avec ces étapes, vous pouvez insérer des enregistrements dans une table contenant une colonne d'identité sans déclencher l'erreur « Impossible d'insérer une valeur explicite pour la colonne d'identité ».
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!