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 :

Mise à jour de ma base de données en local impossible: code erreur 1062


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 29
    Points : 10
    Points
    10
    Par défaut Mise à jour de ma base de données en local impossible: code erreur 1062
    Bonjour à tous!

    En premier lieu, je fais un backup de ma base de données (via phpmyadmin) depuis le serveur de mon hébergeur.

    J'enregistre le fichier mabase.sql dans un répertoire sur mon disque dur puis j'ouvre phpmyadmin via Wamp Serveur 2.0 (donc en localhost).

    Puis, je fais "importer" en sélectionnant le fichier mabase.sql pour arriver au message d'erreur (numéroté 1062, voir plus bas, merci) suivant:

    Erreur
    requête SQL:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    --
    -- Contenu de la table `categorie`
    --
    INSERT INTO `categorie` ( `id_categorie` , `libelle` ) 
    VALUES ( 1, 'photos maritimes' ) , ( 4, 'photos de montagne' ) , ( 5, 'photos urbaines' ) , ( 6, 'photos florales' ) , ( 7, 'photos inedites' ) , ( 10, 'photos humour' ) ;


    MySQL a répondu:

    #1062 - Duplicate entry '1' for key 'PRIMARY'

    Je débute totalement, et j'avoue que là je suis "lost in the code"!

    D'avance, un grand merci pour votre aide,

    Marc


    Les versions utilisées sont:

    Apache/2.2.11 (Win32) PHP/5.2.8
    Version du client MySQL: 5.0.51a
    Extension PHP: mysqli

  2. #2
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    Bonjour ,

    Il existe deja un enregistrement dont id_categorie vaut 1.
    Ton champs est une clef primaire donc les doublons ne sont pas acceptés.
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  3. #3
    Membre éprouvé Avatar de laurentibus
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Points : 908
    Points
    908
    Par défaut
    alors d apres le message d erreur je dirais que tu essayes d ajouter une ligne dans ta table categorie : mais le pb est que tu donne un identifiant (id_categorie) qui existe deja dans ta table ....

    un identifiant est unique !!!


    donc regarde quels sont les id deja pris et regarde aussi du cote des sequences qui pourront te renvoyer un nouvel id ....

    ++
    ... un flash ... et ça repart

    700R ... catch me if u can

    Best regards,
    .

  4. #4
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    Citation Envoyé par laurentibus Voir le message
    un identifiant est unique !!!
    Uniquement parce que son champs est en clef primaire , sinon ils pourraient mettre des identifiants identiques à foison .
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 29
    Points : 10
    Points
    10
    Par défaut
    hello tous!

    Merciiii...euh..bon j'essaye d'abord d'assimiler vos réponses
    et ensuite je reviens vers vous d'ici peu pour vous dire
    ce que j'ai pu ...faire!

    Marc

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 29
    Points : 10
    Points
    10
    Par défaut
    Hello, Je reviens donc....


    Tout d'abord, je reprécise que lorsque je fais l'importation,
    personellement, n'y connaissant rien, je laisse phpmyadmin
    faire son "boulot" lorsque je clique sur le bouton "exécuter".

    Je suis allé dans le cas présent du côté hébergeur, sur leur serveur.

    J'ai sélectionné la table catégorie puisqu'a priori c'est celle ci qui pose
    problème:

    Dans la table catégorie j'ai cliqué sur STRUCTURE, et la fenêtre (capture écran) affiche ces infos suivantes:




    Puis, au niveau des catégories, actuellement en place (capture écran à nouveau) quand je clique sur le bouton "affiche les valeurs distinctes" dans la colonne "action", j'obtiens les infos suivantes:



    Donc,donc, d'après ce que j'ai pu comprendre il y aurait un "doublon" sur un identifiant?? Euh?

    Mais où pourrais je aller repérer cette "erreur"?



    Merciiii!

    Marc

  7. #7
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    JE vois pas les miniatures , tu veux pas plutot les attacher au topic (Pieces jointes) ?
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 29
    Points : 10
    Points
    10
    Par défaut
    hello,

    euh, normalement de mon côté quand je clique sur l'image j'ai une fenêtre qui s'ouvre pour agrandir l'image.

    Mais bon, c'est la première fois que je fais de l'insert d'image, donc, donc...forcément 'y a des ratés.

    Là pour joindre les images au topic...euh..je teste...pour voir si j'arrive
    à quelque chose d'exploitable!

    est ce ok?

    Sur l'image où l'on peut voir les 2 champs (id_categorie, et libelle), il y a un autre petit tableau en dessous sur la gauche.

    Tableau nommé "Index", avec 5 colonnes:

    Nom de l'index=primary
    Type=primary
    Cardinalité=6
    Action: modifier ou supprimer
    Champ=id_categorie

    Serait ce à ce niveau que l'erreur se situe?
    Images attachées Images attachées   

  9. #9
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    Donc ton champ id_categorie est une clef primaire (et qui plus est en autoincrement), ce qui veut dire que tu ne peux pas avoir de doublon .

    Il est donc normal que tu ne puisse voir tes doublons avec PHPMyAdmin car lors de l'enregistrement d'une valeur qui existe deja tu as un message d'erreur mais l'enregistrement en question n'est pas pris en compte.
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    498
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 498
    Points : 461
    Points
    461
    Par défaut
    J'voudrais pas dire de bêtises mais j'ai l'impression que ta table est déjà restauré!! Il y a les 6 enregistrements que tu as précisé dans ton INSERT

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 29
    Points : 10
    Points
    10
    Par défaut
    Citation Envoyé par RideKick Voir le message
    Donc ton champ id_categorie est une clef primaire (et qui plus est en autoincrement), ce qui veut dire que tu ne peux pas avoir de doublon .
    A ce niveau là, je pense avoir compris la notion de doublon "bloquée" par une clef primaire qui s'incrémente au fur et à mesure que l'on ajoute une catégorie.

    Par contre.....pour la suite...

    Citation Envoyé par RideKick Voir le message
    Il est donc normal que tu ne puisse voir tes doublons avec PHPMyAdmin car lors de l'enregistrement d'une valeur qui existe deja tu as un message d'erreur mais l'enregistrement en question n'est pas pris en compte.
    ..tu m'as largué, grave,

    J'ajoute une chose par ailleurs...

    pourquoi, quand j'exporte ma base depuis le serveur de l'hébergeur vers le disque dur de mon pc, le fichier mabase.sql se créé sans problème....

    ...alors que...

    lorsque je suis en local (phpmyadmin via wamp) et que je veux mettre à jour la base, eh bien, l'importation pour mise à jour, renvoie ce message d'erreur?

    un doublon? mais serait ce alors dans la table de la base (en local sur mon pc) qu'il faut que je corrige?

    Oups, je suis "aware"!

  12. #12
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    Groso modo , tu peux pas ajouter 2 fois le meme enregistrement dans ta table.
    Donc quand tu regarde ce que tu as dans ta table tu n'as pas de doublon.

    Maintenant ton soucis c'est que tu essaie d'inserer des valeurs dans une table qui les contient deja , du coups tu as le message d'erreur.
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  13. #13
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 29
    Points : 10
    Points
    10
    Par défaut
    Citation Envoyé par fucce Voir le message
    J'voudrais pas dire de bêtises mais j'ai l'impression que ta table est déjà restauré!! Il y a les 6 enregistrements que tu as précisé dans ton INSERT
    Hello!

    Si j'ai bien compris ta remarque, oui, effectivement, ma base a déjà été restaurée en local sur mon pc.

    Disons que cela avait été fait qu'une seule fois.

    J'avais créé une base en local nommé à l'identique de celle qui était sur le serveur de mon hébergeur.

    Là, en fait, je fais une...deuxième restauration...parce que la base "on line" s'est enrichie de quelques "octets" et que j'aurais bien aimé "mettre à jour/restaurer" ma base précédemment "installée" en local.


    Suis je suffisamment clair??

  14. #14
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    498
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 498
    Points : 461
    Points
    461
    Par défaut
    Si j'ai compris ton soucis!!!
    Donc la solution c'est de faire un "drop" de ta base en local (Effacer) puis faire une restauration comme tu l'as faite

  15. #15
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 29
    Points : 10
    Points
    10
    Par défaut
    Citation Envoyé par RideKick Voir le message
    Maintenant ton soucis c'est que tu essaie d'inserer des valeurs dans une table qui les contient deja , du coups tu as le message d'erreur.
    ...mais, ce qui est étonnant, c'est que la table "catégorie" n'a pas bougé entre celle qui était dans la base 'on line' (coté serveur) et la table "catégorie" que j'ai "une fois seulement" installé" sur mon pc en local.

    Entre la base en "localhost" et la base coté "serveur de l'hébergeur", cette table "catégorie" est toujours restée la même.

    Donc, je ne comprends pas pourquoi je ferai une "insertion de valeurs" dans une table qui les contient déjà??

    Je sais que l'informatique, c'est ultra pointu, mais là, j'ai pas encore suffisamment affuté ma lame pour capter!

  16. #16
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    Dans ce cas tu devrais vider la base avant de reinserer ton fichier.
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  17. #17
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    498
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 498
    Points : 461
    Points
    461
    Par défaut
    Le problème (si c'est un problème) est que tu as fais une sauvegarde totale de ta base. Si tu connais les tables qui ont été modifiées, tu ne peux sauvegarder que ces tables en question! Il te suffira alors de ne supprimer que les tables concernées

  18. #18
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 29
    Points : 10
    Points
    10
    Par défaut
    Citation Envoyé par fucce Voir le message
    Si j'ai compris ton soucis!!!
    Donc la solution c'est de faire un "drop" de ta base en local (Effacer) puis faire une restauration comme tu l'as faite
    Ah... ok... mais alors ca voudrait dire qu'on peut pas - en local - importer/restaurer une base que l'on a préalablement "exporté" depuis le serveur de l'hébergeur??

    Genre:

    01 février: 8h. En localhost, ma base n'existe pas. Je la nomme puis pour qu'elle ait du contenu, j'importe la base "pleine" provenant du serveur de l'hébergeur. <<< J'appelle ça restauration_01

    02 février: 8h. Je constate sur le serveur de l'hébergeur que ma base s'est enrichie de quelques octets, non pas ici dans la table catégories, mais dans la table users. Donc, depuis le serveur de l'hébergeur, j'exporte le fichier mabase.sql que je sauvegarde sur mon pc.

    Maiiiiiis...si je veux mettre à jour ma base "installée" le 01 février, il faut que je l'efface pour, en fait, la remplacer par celle provenant du serveur de l'hébergeur.<<<< restauration_02 ...

    -----

    En fait on ne peut pas mettre à jour en utilisant la procédure "exportation (coté serveur hébergeur)/"importation" (côté pc en localhost). Il faut que la base installée le 1er février, soit préalablement effacée.

    Euh, est ce cela?

  19. #19
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 29
    Points : 10
    Points
    10
    Par défaut
    Citation Envoyé par RideKick Voir le message
    Dans ce cas tu devrais vider la base avant de reinserer ton fichier.
    Ok, ceci est la soluce pour aller "presto".

  20. #20
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    498
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 498
    Points : 461
    Points
    461
    Par défaut
    Oui tu as tout à fait compris! Qu'est ce qui te dérange dans cette façon de faire?

Discussions similaires

  1. [C#] [MySQL] Mise à jour de la base de donnée
    Par dev01 dans le forum Windows Forms
    Réponses: 12
    Dernier message: 01/08/2007, 09h15
  2. Mise à jour de deux bases de données
    Par antoine1504 dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 29/03/2007, 19h42
  3. [MySQL] Problème de mise à jour de la base de données
    Par Osiris22 dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 17/01/2006, 16h08
  4. probleme de virgule dans la mise à jour d'une base de donnée
    Par KAF dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 24/12/2005, 02h18
  5. mise à jour d'une base de données
    Par flo83 dans le forum ASP
    Réponses: 6
    Dernier message: 12/06/2005, 20h27

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