Maison > Article > base de données > Pourquoi est-ce que je reçois une erreur « Entrée en double pour la clé primaire » (code 1062) dans MySQL ?
Erreur MySQL : entrée en double pour la clé primaire
Code d'erreur : 1062. Entrée en double « 1 » pour la clé 'PRIMARY'
Problème :
Lorsque vous tentez d'insérer une nouvelle ligne dans la table UFFICIO-INFORMAZIONI, vous recevez une erreur indiquant qu'il existe une entrée en double pour la clé primaire valeur '1'.
Explication :
La clé primaire est une contrainte unique sur une colonne ou un ensemble de colonnes dans une table. Il garantit que chaque ligne possède un identifiant unique. Dans votre cas, la colonne ID est définie comme clé primaire, ce qui signifie que deux lignes ne peuvent pas avoir la même valeur pour la colonne ID.
Cause :
L'erreur est générée car vous essayez d'insérer une nouvelle ligne avec une valeur d'ID qui existe déjà dans la table. Cela viole la contrainte de clé primaire, car il ne peut pas y avoir deux lignes avec la même valeur de clé primaire.
Solution :
Il existe deux solutions possibles à ce problème :
Exemple :
Pour utiliser l'incrémentation automatique dans MySQL, modifiez l'instruction de création de table comme suit :
<code class="sql">CREATE TABLE IF NOT EXISTS `PROGETTO`.`UFFICIO-INFORMAZIONI` ( `ID` INT(11) NOT NULL AUTO_INCREMENT, `viale` VARCHAR(45) NULL , .....</code>
Cela créera une colonne ID qui s'incrémente automatiquement pour chaque nouvelle ligne insérée dans le tableau. Vous pouvez ensuite omettre la valeur de l'ID lors de l'insertion de nouvelles lignes.
<code class="sql">INSERT INTO `PROGETTO`.`UFFICIO-INFORMAZIONI` (`viale`, `num_civico`, ...) VALUES ('Viale Cogel ', '120', ...)</code>
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!