IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes MySQL Discussion :

duplicate entry for key 'primary'


Sujet :

Requêtes MySQL

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 25
    Points : 17
    Points
    17
    Par défaut duplicate entry for key 'primary'
    Bonjour à tous,

    Sur un PC, j'ai installé easyPHP (version 3.0) pour faire tourner une application en PHP. J'ai intégré un dump de base de données avec la structure des tables et du contenu. Ensuite, j'ai exécuté une mise à jour de mon application. Cette mise à jour est exécutée par l'appli. Il s'agit d'un fichier contenant des requêtes SQL qui sont récupérées une par une et exécutées avec mysql_query.
    Cette mise à jour a planté en cours de route sur une requête toute bête, un insert dans une table 'entreprise'. L'erreur affichée par l'appli était : duplicate entry '100085' for key 'primary'.
    Cette clé primaire est mon ID, un auto increment. Le champ est un int (10) unsigned, je peux donc aller jusqu'à un peu plus de 4 milliard au niveau de mon ID.
    En browsant la table avec phpMyAdmin, je constate qu'il n'y a pas de clé 100085. Ca s'arrête juste avant, à 100084.
    Maintenant, plus fort : je prends cette requête et je la lance sous phpMyAdmin : elle passe sans problème.

    Et là, sans les mains : je reprends le même dump, j'installe mon appli sur un autre poste, même version d'easyphp, je lance ma mise à jour : ça passe.

    J'ai réinstallé easyphp sur la première machine, ça n'a rien changé.

    Est-ce que quelqu'un a une idée de ce qui se passe ?
    (une précision : la version d'easyphp n'est pas modifiable, je dois conserver la 3.0)

    Merci d'avance,

  2. #2
    Membre expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Points : 3 950
    Points
    3 950
    Par défaut
    Saluton,
    J'imagine que ce sont des tables MyISAM, et que le PC n'est pas trop bien doté en RAM ou je me trompe ?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 25
    Points : 17
    Points
    17
    Par défaut
    Oui, ce sont des tables MyIsam. Pour la RAM, je ne sais pas, mais je sais que le PC n'est pas très performant. Je vais me renseigner (je ne l'ai pas sous la main, ça complique les choses).
    Pourquoi ? qu'est-ce que ça implique ?

    Pour info, la requête qui plante n'est pas la première du fichier, ce doit être la 50e ou la 100e sur 400. J'ai tenté une autre synchro avec un autre fichier, ça plante également, toujours sur une insertion dans la même table 'entreprise' (même message d'erreur duplicate entry), alors que ma requête est la 10e sur une centaine.

    Merci pour ton aide.

  4. #4
    Membre expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Points : 3 950
    Points
    3 950
    Par défaut
    Citation Envoyé par mariek Voir le message
    je reprends le même dump, j'installe mon appli sur un autre poste, même version d'easyphp, je lance ma mise à jour : ça passe
    C'est cette petite révélation qui me fait diagnostiquer que le problème doit provenir du poste «serveur».
    Easyphp version 3.0, ça doit embarquer une version MySQL assez ancienne et les tables MyIsam sont d'une conception assez frustre, un fichier pour le schéma, un autre pour les données et un troisième pour les index. Tout cela requiert pas mal de handles système et les raisons d'un crash sur ce genre de requête sur une machine un peu essoufflée ne manquent pas.
    D'autant qu'Easyphp a toujours revendiqué ne pas être une plate-forme de production mais de test et de développement.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 25
    Points : 17
    Points
    17
    Par défaut
    EasyPHP 3.0 embarque la version 5.1.30 de MySQL, lorsque l'appli a été développée c'était la dernière version d'EasyPHP (en beta, en plus).
    Lorsqu'on lance phpMyAdmin, on a ce message :
    La version de votre bibliothèque MySQL (5.0.51a) diffère de la version de votre serveur MySQL (5.1.30). Ceci peut occasionner un comportement imprévisible.
    Je crois que je trouve en face de ce comportement imprévisible...

    Easyphp a toujours revendiqué ne pas être une plate-forme de production mais de test et de développement
    Oui, je crois que je paye mon choix d'avoir préféré easyPHP à Wamp lors de l'installation des postes.

    Merci pour ton éclairage !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. ERROR : Duplicate entry '' for key 2
    Par Estragon007 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 14/07/2013, 21h26
  2. [MySQL] UPDATE: ERROR DUPLICATE ENTRY FOR KEY PRIMARY
    Par Blackcocktail dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 19/12/2011, 15h07
  3. Duplicate entry for key
    Par Arget dans le forum Développement Web en Java
    Réponses: 20
    Dernier message: 09/12/2011, 13h42
  4. Réponses: 3
    Dernier message: 02/06/2011, 16h47
  5. Réponses: 7
    Dernier message: 29/11/2010, 17h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo