Maison > base de données > tutoriel mysql > le corps du texte

Pourquoi est-ce que j'obtiens « Code d'erreur : 1062. Erreur d'entrée en double : résolution du problème de colonne « ID » » ?

Mary-Kate Olsen
Libérer: 2024-10-30 22:57:29
original
810 Les gens l'ont consulté

Why am I getting

Code d'erreur : 1062. Erreur d'entrée en double : résolution du problème de la colonne "ID"

L'erreur rencontrée, "Code d'erreur : 1062. L'entrée en double « 1 » pour la clé « PRIMAIRE » signifie un conflit de valeurs au sein d'une clé primaire. Examinons le tableau et déterminons la cause première de ce problème :

Table UFICIO-INFORMAZIONI

Le tableau fourni présente les colonnes de la table UFFICIO-INFORMAZIONI, qui inclut « ID », « viale » et d’autres attributs. La colonne « ID » est désignée comme clé primaire, indiquant que ses valeurs doivent être uniques pour chaque ligne.

La cause de l'erreur d'entrée en double

L'erreur se produit parce que la colonne « ID » est définie avec des entrées en double. Dans l'instruction SQL que vous avez fournie :

<code class="sql">INSERT INTO `PROGETTO`.`UFFICIO-INFORMAZIONI` (`ID`, `viale`, `num_civico`, ...)
VALUES (1, 'Viale Cogel ', '120', ...)</code>
Copier après la connexion

La colonne "ID" est explicitement définie sur "1", ce qui contredit la contrainte de clé primaire. Étant donné que la clé primaire doit être unique, la base de données génère l'erreur.

Solution : utiliser AUTO_INCREMENT

Pour résoudre ce problème, envisagez de définir la colonne « ID » sur AUTO_INCREMENT . Ce faisant, la base de données génère automatiquement des valeurs uniques pour la colonne 'ID' lors des opérations d'insertion, garantissant ainsi l'intégrité de la clé primaire.

Voici la définition de table modifiée avec AUTO_INCREMENT :

<code class="sql">CREATE  TABLE IF NOT EXISTS `PROGETTO`.`UFFICIO-INFORMAZIONI` (
  `ID` INT(11) NOT NULL AUTO_INCREMENT,
  `viale` VARCHAR(45) NULL ,
   .....</code>
Copier après la connexion

Insérer des enregistrements sans spécifier « ID »

Lors de l'insertion d'enregistrements avec AUTO_INCREMENT activé, vous pouvez ignorer la spécification de la colonne « ID » dans l'instruction SQL. La base de données attribue automatiquement un identifiant unique à chaque ligne.

Par exemple :

<code class="sql">INSERT INTO `PROGETTO`.`UFFICIO-INFORMAZIONI` (`viale`, `num_civico`, ...)
VALUES ('Viale Cogel ', '120', ...)</code>
Copier après la connexion

En résolvant le problème des entrées en double et en implémentant AUTO_INCREMENT, vous pouvez garantir l'insertion fluide des enregistrements dans l'UFFICIO. -Tableau INFORMAZIONI.

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!