Maison  >  Article  >  base de données  >  Comment résoudre l'erreur « Entrée en double pour la clé primaire » lors de l'insertion de données dans la table UFFICIO-INFORMAZIONI ?

Comment résoudre l'erreur « Entrée en double pour la clé primaire » lors de l'insertion de données dans la table UFFICIO-INFORMAZIONI ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-31 14:38:02588parcourir

How do I resolve the

Erreur : entrée en double pour la clé primaire

Lors de la tentative d'insertion de données dans la table UFFICIO-INFORMAZIONI, une erreur se produit en raison d'une entrée en double pour la colonne ID, qui est définie comme la clé primaire.

Comprendre la clé primaire

Une clé primaire est un identifiant unique pour chaque ligne d'une table, garantissant qu'il n'y a pas d'entrées en double. Dans ce cas, la colonne ID est définie comme clé primaire, indiquant que chaque ligne doit avoir une valeur ID unique.

Inspection de la structure de la table

La définition de table fournie montre que la colonne ID est un entier (INT(11)) avec une contrainte NOT NULL, ce qui signifie qu'il ne peut pas être laissé vide. Il a également une contrainte PRIMARY KEY, qui impose l'unicité des valeurs dans cette colonne.

Résolution de l'erreur

Le message d'erreur indique qu'une entrée avec la valeur ID de 1 existe déjà dans le tableau. Pour résoudre ce problème, assurez-vous que les données insérées ne contiennent pas de valeurs en double pour la colonne ID.

Utilisation de l'incrémentation automatique

Une solution alternative consiste à définir la colonne ID comme AUTO_INCREMENT. Cela permet à la base de données de générer automatiquement des valeurs uniques pour la colonne ID, garantissant ainsi qu'aucune entrée en double n'est créée.

Pour définir la colonne ID sur AUTO_INCREMENT, modifiez la définition de la table comme suit :

CREATE  TABLE IF NOT EXISTS `PROGETTO`.`UFFICIO-INFORMAZIONI` (
  `ID` INT(11) NOT NULL AUTO_INCREMENT,
  `viale` VARCHAR(45) NULL ,
  ...
)

Avec cette modification, la colonne ID s'incrémentera automatiquement pour chaque nouvelle ligne insérée, éliminant ainsi le besoin de la spécifier explicitement lors de l'insertion de données.

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