Maison >base de données >tutoriel mysql >Comment résoudre l'erreur « Impossible d'insérer une valeur explicite pour la colonne d'identité » ?

Comment résoudre l'erreur « Impossible d'insérer une valeur explicite pour la colonne d'identité » ?

DDD
DDDoriginal
2025-01-19 09:26:09499parcourir

How to Resolve the

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn