Erreur de clé primaire en double : résolution du "Code d'erreur : 1062. Entrée en double '1' pour la clé 'PRIMARY'"
Lors de la tentative de insérez des données dans une table, vous pouvez rencontrer le message d'erreur « Code d'erreur : 1062. Entrée en double '1' pour la clé 'PRIMARY'". Cette erreur signifie que vous essayez d'insérer une valeur en double dans une colonne définie comme clé primaire.
Dans votre cas, le problème réside dans la table PROGETTO .UFFICIO-INFORMAZIONI. La clé primaire de cette table est définie comme ID. Vous avez explicitement spécifié la valeur de ID sur 1 dans votre instruction INSERT :
INSERT INTO `PROGETTO`.`UFFICIO-INFORMAZIONI` (`ID`, `viale`, `num_civico`, ...) VALUES (1, 'Viale Cogel ', '120', ...)
Cependant, cette valeur existe déjà dans le tableau. Comme les clés primaires sont uniques pour chaque enregistrement, vous ne pouvez pas insérer de valeur en double.
Solution : utilisez l'incrémentation automatique
La solution recommandée pour éviter les erreurs de clé primaire en double est pour utiliser l'incrémentation automatique pour la colonne ID. Cela signifie que la base de données générera automatiquement des valeurs uniques pour la colonne ID lors de l'insertion. Pour activer l'incrémentation automatique, 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, ... );
Une fois que vous avez activé l'incrémentation automatique, vous pouvez omettre la colonne ID dans vos instructions INSERT :
INSERT INTO `PROGETTO`.`UFFICIO-INFORMAZIONI` (`viale`, `num_civico`, ...) VALUES ('Viale Cogel ', '120', ...)
En utilisant l'incrémentation automatique, la base de données attribuera automatiquement une valeur unique à la colonne ID, garantissant ainsi qu'aucune erreur de clé en double ne se produise.
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!