Erreur MySql: Duplicate entry '11' for key 1

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics

Jack_du_Lac
Nouveau WRInaute
 
Messages: 31
Inscription: Mer Juin 29, 2005 12:58

Erreur MySql: Duplicate entry '11' for key 1

Message le Dim Aoû 07, 2005 11:42

Bonjour tout le monde,
j'ai un problème de Mysl. J'essaie de modifier une donnée avec update et voilà le message d'erreur qu'il m'affiche. "Duplicate entry '11' for key 1" Quelqu'un peut me dire ce que ça signifie?

Merci d'avance

petit-ourson
WRInaute passionné
WRInaute passionné
 
Messages: 844
Inscription: Lun Mai 31, 2004 15:19

Message le Dim Aoû 07, 2005 11:55

Tu dois deja avoir un enregistrement avec la valeur "11" et dans la mesure où c'est une clef primaire, tu ne peux pas avoir de doublon.

Jack_du_Lac
Nouveau WRInaute
 
Messages: 31
Inscription: Mer Juin 29, 2005 12:58

Message le Dim Aoû 07, 2005 12:08

Je ne comprends pas.
Voici le code. Pourriez-vous m'éclairicir?

Code: Tout sélectionner
$modifDonnee = "UPDATE boite SET titre='$titre', description='$description', type='$type' WHERE IDA='$IDA' ";
mysql_query($modifDonnee, $ID_Connex) or die (mysql_error());


Merci d'avance


Cendrillon
WRInaute accro
WRInaute accro
 
Messages: 4747
Inscription: Mar Aoû 17, 2004 15:41

Message le Dim Aoû 07, 2005 12:12

petit-ourson a écrit:Tu dois deja avoir un enregistrement avec la valeur "11" et dans la mesure où c'est une clef primaire, tu ne peux pas avoir de doublon.

ce dont te parle petit-ourson ne concerne pas le code mais le contenu da la base ... un champ "sans-doublons" ne peut pas avoir la même valeur dans 2 enregistrements différents ... :wink:

Jack_du_Lac
Nouveau WRInaute
 
Messages: 31
Inscription: Mer Juin 29, 2005 12:58

Message le Dim Aoû 07, 2005 12:35

Je ne comprends pas ce que ma table a.

J'ai toujours créé mes tables de la même façon. Voilà la structure de la table.

Code: Tout sélectionner
DROP TABLE IF EXISTS boite;
CREATE TABLE boite (
  IDA int(11) NOT NULL auto_increment,
  titre varchar(200) NOT NULL default '',
  description text NOT NULL,
  type varchar(50) NOT NULL default '',
  PRIMARY KEY  (IDA)
) TYPE=MyISAM;


D'avance merci de me dire ce qui ne va pas?

Nikos38
Nouveau WRInaute
 
Messages: 44
Inscription: Jeu Juin 23, 2005 6:05

Message le Dim Aoû 07, 2005 20:06

Voilà ce qui arrive quand on touche à tout sans trop savoir :)

Ce qu'on t'explique c'est que le champ IDA de ta table est déclaré comme clé primaire, en gros tu ne peux pas avoir plusieurs enregistrement dans ta table qui ont un même IDA.

Tu rencontres ce problème parce que dans ta table, il y a une ligne de données qui a IDA=11 et ton script essaie d'insérer une nouvelel ligne avec un IDA=11. Résultat->erreur.

Bon j'ai essayé d'expliquer simplement si tu comprends pas là, on n'y peut rien.

Jack_du_Lac
Nouveau WRInaute
 
Messages: 31
Inscription: Mer Juin 29, 2005 12:58

Message le Dim Aoû 07, 2005 20:47

Merci Nikos, vois-tu, c'est ce qui fait la différence entre un pro comme vous et un débuteur comme moi.

C'est sympa d'essayer de m'aider. Toutefois ça ne veut pas dire grand chose pour moi. J'ai mis la structure de ma table. Pourriez-vous faire un exemple avec cette structure pour me montrer ce qui cloche dans ma stcuture?

Ne dit-on pas qu'un exemple vaut mieux que des heures de discours?
Merci d'avance pour toute personne voulant bien m'aider.

Jack_du_Lac
Nouveau WRInaute
 
Messages: 31
Inscription: Mer Juin 29, 2005 12:58

Message le Dim Aoû 07, 2005 20:54

Je n'essaie pas d'enrégistrer des données avec un IDA identique. NON Je ne fera jamais ça. C'est une clef unique. Dans le code, on voit bien que je modifie la donnée tout simplement. Pour cette donnée, je garde le même IDA. J'ai l'impression d'être mal compris.

Script:
Code: Tout sélectionner
$modifDonnee = "UPDATE boite SET titre='$titre', description='$description', type='$type' WHERE IDA='$IDA' ";
mysql_query($modifDonnee, $ID_Connex) or die (mysql_error());


IDA est le même. WHERE IDA = '$IDA'
Merci de m'aider

Nikos38
Nouveau WRInaute
 
Messages: 44
Inscription: Jeu Juin 23, 2005 6:05

Message le Dim Aoû 07, 2005 21:36

Jack_du_Lac a écrit:Pourriez-vous faire un exemple avec cette structure pour me montrer ce qui cloche dans ma stcuture?


Rien ne cloche dans la structure.

Le problème vient soit du script, soit de la séquence de génération des autoincrement de mysql qui a buggé.

Si tu n'as que 11 enregistrements, fais une copie de ta table, vide la table actuelle et fais des tests pour voir si tu rencontres le même problème.

C'est étrange que cette erreur apparaisse lors d'un update alors que la clé n'est pas modifiée..

Jack_du_Lac
Nouveau WRInaute
 
Messages: 31
Inscription: Mer Juin 29, 2005 12:58

Message le Dim Aoû 07, 2005 22:33

Merci Nikos et merci à tout le monde

J'ai trouvé le problème. C'est la base de données MySql qui buggait.
J'ai tout supprimé et tout refait. Maintenant, tout marche bien.
Bonne soirée à tout le monde


Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités