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

PHP & Base de données Discussion :

[SQL] 1062 - Duplicate entry '0' for key 1


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 63
    Points : 27
    Points
    27
    Par défaut [SQL] 1062 - Duplicate entry '0' for key 1
    Bonjour,

    Depuis la restauration de ma base sql via le script bigdump je rencontre des erreurs sql de type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    1062 - Duplicate entry '0' for key 1
     
    insert into orders_status_history (orders_id, orders_status_id, date_added, customer_notified, comments, track_num, track_num2, track_num3) values ('10003', '2', now(), '0', '', '', '', '')
     
    [TEP STOP]
    Je n'avais avant cette restauration aucun pb de ce type... je pensais pourtant que la restauration via bigdump était une copie conforme...

    J'ai aussi remarqué que pendant la restauration via bigdump je rencontre ce message d'erreur (vers la fin de la restauration).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Error at the line 6212: /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
     
    Query: /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
     
     
    MySQL: Unknown or incorrect time zone: 'NULL'

    Mon hébergeur est OVH

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Points : 1 460
    Points
    1 460
    Par défaut
    tu as une valeur de ta clé qui est déjà présente..

    2 solutions soit tu vides complètement ta table et tu la recharges

    sinon tu fais un REPLACE a la place de l'insert
    Stay in Bed .. Save Energy

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 63
    Points : 27
    Points
    27
    Par défaut
    Je vais faire ce que tu me dis et te tenir au courrant, mais pourquoi cela fait ca? Je pensais qu'un dump était un ghost de ma base sql... j'en déduis que lors de sa restauration je devrais retrouver exactement la même chose...

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Points : 1 460
    Points
    1 460
    Par défaut
    oui mais si tu as deja des données il va essayer d'inserer juste vide ta table est lance ton dump ca marchera
    Stay in Bed .. Save Energy

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 63
    Points : 27
    Points
    27
    Par défaut
    Pourtant je selectionne bien toutes les tables et je les supprimes, et malgré tout je retrouve ce message d'erreur (que je n'avais pas du tout avant la restauration, et je précise que je n'ai fais aucune modifs).

  6. #6
    Membre confirmé Avatar de SphynXz
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    439
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 439
    Points : 547
    Points
    547
    Par défaut
    et si à la fin de ton insert qui cause le duplicate key tu ajoute :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    insert into blabla
    values (blabla)
    ON DUPLICATE KEY UPDATE orders_id=LAST_INSERT_ID(orders_id)+1;
    I don't know what will be used in the next world war, but the 4th will be fought with stones. - Albert Einstein
    Pour détourner un avion, il faut monter dedans - Frédéric beigbeder

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 63
    Points : 27
    Points
    27
    Par défaut
    Pardonne moi d'être à ce point nul, mais comment faire? de plus je constate cette erreur pour d'autre requète, je viens par exemple de tomber sur celle-ci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Duplicate entry '0' for key 1
     
    Query : INSERT INTO phpmv_archives (idsite, done, period, date1, date2) VALUES (1, 3,1, '2008-03-20', '1206017021')
    Je ne comprends toujours pas pourquoi la restauration de ma base me provoque ce type d'erreur... (malgré la suppression des tables).

  8. #8
    Membre confirmé Avatar de SphynXz
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    439
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 439
    Points : 547
    Points
    547
    Par défaut
    Citation Envoyé par kervano Voir le message
    Pardonne moi d'être à ce point nul, mais comment faire? de plus je constate cette erreur pour d'autre requète, je viens par exemple de tomber sur celle-ci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Duplicate entry '0' for key 1
     
    Query : INSERT INTO phpmv_archives (idsite, done, period, date1, date2) VALUES (1, 3,1, '2008-03-20', '1206017021')
    Je ne comprends toujours pas pourquoi la restauration de ma base me provoque ce type d'erreur... (malgré la suppression des tables).
    duplicate entry '0' for key 1 : idsite tente à être enregistré avec pour valeur 0, erreur car vraisemblablement un enregistrement avec cette même valeur existe déjà.

    ce que je te proposais était de rajouter on duplicate key à la fin de tes requète , comme ceci :


    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    INSERT INTO phpmv_archives (idsite, done, period, date1, date2) 
    VALUES (1, 3,1, '2008-03-20', '1206017021')
    ON DUPLICATE KEY UPDATE idsite=LAST_INSERT_ID(idsite)+1;

    peut tu faire un "SHOW CREATE TABLE phpmv_archives;" et nous afficher le résultat

    et nous coller l'intégralité du dump qui se rapporte à cette table
    I don't know what will be used in the next world war, but the 4th will be fought with stones. - Albert Einstein
    Pour détourner un avion, il faut monter dedans - Frédéric beigbeder

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 63
    Points : 27
    Points
    27
    Par défaut
    Voici le résultat du "SHOW CREATE TABLE phpmv_archives;" :

    Index: Nom de l'index Type Cardinalité Action Champ
    PRIMARY PRIMARY 643 idarchives
    pmvindex1 INDEX aucune idsite
    pmvindex2 INDEX aucune done
    compressed INDEX aucune compressed
    date1 INDEX aucune date1
    date2 INDEX aucune date2
    done INDEX aucune done
    idarchives INDEX aucune idarchives
    idsite INDEX aucune idsite
    nb_direct INDEX aucune nb_direct
    nb_max_pag INDEX aucune nb_max_pag
    nb_newsletter INDEX aucune nb_newsletter
    nb_pag INDEX aucune nb_pag
    nb_pag_returning INDEX aucune nb_pag_returning
    nb_partner INDEX aucune nb_partner
    nb_search_engine INDEX aucune nb_search_engine
    nb_site INDEX aucune nb_site
    nb_uniq_pag INDEX aucune nb_uniq_pag
    nb_uniq_vis INDEX aucune nb_uniq_vis
    nb_uniq_vis_returning INDEX aucune nb_uniq_vis_returning
    nb_vis INDEX aucune nb_vis
    nb_vis_1pag INDEX aucune nb_vis_1pag
    nb_vis_1pag_returning INDEX aucune nb_vis_1pag_returning
    nb_vis_returning INDEX aucune nb_vis_returning
    period INDEX aucune period
    simple INDEX aucune simple
    sum_vis_lth INDEX aucune sum_vis_lth
    sum_vis_lth_returning INDEX aucune sum_vis_lth_returning
    En bas j'ai des messages d'avertissement :

    ! Les index suivants semblent équivalents, vous devriez en éliminer un. pmvindex1, idsite

    ! Les index suivants semblent équivalents, vous devriez en éliminer un. PRIMARY, idarchives

    ! Les index suivants semblent équivalents, vous devriez en éliminer un. pmvindex2, done
    Pour le contenu de la table celle-ci est beaucoup trop grosse pour que je la poste.

    Je n'ai toujours pas compris pourquoi je peux pas retrouver la même chose qu'avant étant donné que mon dump est sensé contenir ma base qui était fonctionnel à 100%. Pourquoi des duplicates surgisse comme ca?

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 63
    Points : 27
    Points
    27
    Par défaut
    Je viens de régler le problème en supprimant le code PRIMARY voir la photo... ce code est en double, je ne sais pas si cela est néfaste pour ma bdd... ni d'ou provient ce code PRIMARY...



    En revanche je ne sais pas comment faire pour ce message d'erreur :

    Les index suivants semblent équivalents, vous devriez en éliminer un. idx_address_book_customers_id, customers_id
    Pensez vous que je peux procéder de la sorte pour le reste des fichiers doublons sans que cela soit dangereux pour ma bdd?

  11. #11
    Membre averti
    Profil pro
    Développeur Web
    Inscrit en
    Septembre 2004
    Messages
    352
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2004
    Messages : 352
    Points : 434
    Points
    434
    Par défaut
    Tu as deux indexes pour le même champ, c'est redondant et inutile. Supprime l'index idx_*.

  12. #12
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 63
    Points : 27
    Points
    27
    Par défaut
    Et sais pourquoi suite à la restauration du dump de ma base de donnée j'ai des index en doubles?

Discussions similaires

  1. #1062 - Duplicate entry '1' for key 'PRIMARY'
    Par milan2 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 27/04/2012, 13h55
  2. [phpMyAdmin] #1062 - Duplicate entry '10123' for key 'PRIMARY'
    Par cobolons dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 6
    Dernier message: 19/07/2010, 13h55
  3. Erreur #1062 Duplicate entry '0'for Key 1
    Par beambeam dans le forum Débuter
    Réponses: 3
    Dernier message: 14/05/2009, 13h39
  4. Erreur: #1062 - Duplicate entry '1' for key 1
    Par aiss57 dans le forum Requêtes
    Réponses: 8
    Dernier message: 01/04/2009, 11h36
  5. [SQL] #1062 - Duplicate entry '1' for key 1
    Par gozu13 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 22/02/2008, 20h01

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