Maison > base de données > tutoriel mysql > Pourquoi est-ce que j'obtiens « Code d'erreur : 1062. Entrée en double « 1 » pour la clé « PRIMAIRE » lors de l'insertion de données ?

Pourquoi est-ce que j'obtiens « Code d'erreur : 1062. Entrée en double « 1 » pour la clé « PRIMAIRE » lors de l'insertion de données ?

DDD
Libérer: 2024-10-31 08:01:01
original
907 Les gens l'ont consulté

Why Am I Getting

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', ...)
Copier après la connexion

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,
  ...
);
Copier après la connexion

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', ...)
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal