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

EDI, CMS, Outils, Scripts et API PHP Discussion :

Erreur lors d'un import "Plusieurs clefs primaires définies"


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Membre régulier
    Homme Profil pro
    Infographiste, Webdesigner
    Inscrit en
    Juillet 2012
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Infographiste, Webdesigner
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juillet 2012
    Messages : 109
    Points : 70
    Points
    70
    Par défaut Erreur lors d'un import "Plusieurs clefs primaires définies"
    Bonjour à tous et à toutes,

    J'administre une boutique en ligne qui tourne sous Prestashop.
    Je voudrais passer en Multiboutique (pour ceux qui connaissent).
    Avant de le faire "réellement", je fais des tests en local avec Wampserver.

    Pour faire ces tests, j'ai exporté certaines tables de ma boutique en ligne pour les importer en local.
    (A noter qu'au moment de l'export, j'ai coché Drop table et Vider la table)

    Problème, quand j'importe en local, j'ai un message d'erreur "#1068 - Plusieurs clefs primaires définies"
    1. Je ne sais pas ce que ça veut dire
    2. Je pensais que ça n'était pas si grave, mais en fait ça ne fait pas du tout l'import


    Comment faire ?
    Quand j'importe certaines tables ou carrément l'intégralité de la BDD, je n'ai pas de problème. Pourquoi j'en ai quand j'importe certaines autres tables j'ai un problème ?

    D'avance merci pour votre réponse.

  2. #2
    Membre émérite
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    Détails du profil
    Informations personnelles :
    Localisation : France

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

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 769
    Points : 2 446
    Points
    2 446
    Par défaut
    c'est ta couche prestashop qui doit interpréter ça "#1068 - Plusieurs clefs primaires définies"

    Sans connaître ce produit, on peut regarder si tes tables contiennent des index unique et non null en plus des clés primaires.
    unique et non null c'est la propriété clé d'une clé primaire.
    PHP fait nativement la validation d'adresse électronique .
    Celui qui a inventé mysql_connect(...) or die() est déjà mort plusieurs fois.

    Utilisez le bouton résolu!

  3. #3
    Membre régulier
    Homme Profil pro
    Infographiste, Webdesigner
    Inscrit en
    Juillet 2012
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Infographiste, Webdesigner
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juillet 2012
    Messages : 109
    Points : 70
    Points
    70
    Par défaut
    Merci gene69 pour ta réponse.

    Effectivement, j'ai des tables avec des clés primaires qui ne sont pas uniques (c'est le moins qu'on puisse dire).
    C'est le cas de la table où sont enregistrées les déclinaisons (combinations en anglais)
    Par exemple, sur ta boutique sous Prestashop, tu vends 100 vêtements dans 4 tailles et 7 couleurs (des valeurs).
    4 tailles et 7 couleurs ça fait 28 déclinaisons possibles par vêtement. Si tu as 100 vêtements, ça fait 280 déclinaisons.
    Sous Prestashop, dans la BDD, tu as un ID pour tout (tes produits, tes attributs (tailles, couleurs...), les valeurs de tes attributs (S, M, L, XL...)).
    Admettons que :
    • La taille S ait l'ID 7
    • La couleur bleue ait l'ID 3

    Si tu as 100 produits en S et en bleu, tu as 100 fois :
    (7,3)
    dans la table des déclinaisons.
    D'où le message d'erreur que j'ai quand j'importe cette table.
    Dans mon exemple, je n'ai pas de clé primaire unique dans cette table.

    Comment est-ce que je peux faire dans ce cas pour importer cette table ? Pourquoi ça ne pose pas de problème à PHPMyAdmin quand j'importe toute la BDD (toutes les tables) ?
    Est-ce que je ne peux pas
    1. Importer la table dans Excel
    2. Créer une colonne qui s'incrémente (et qui servira de clé primaire unique)
    3. L'enregistrer
    4. Importer cette table modifiée dans PHPMyAdmin
    5. Supprimer cette colonne une fois la table importée ?

    Si oui, comment faire pour supprimer une colonne dans PHPMyAdmin ?
    A moins que je puisse "forcer" PHPMyAdmin à importer la table même s'il n'y a pas de clés primaires uniques ? Si oui, comment faire ?

    Ce que je comprends pas, c'est comment Prestashop peut créer des tables sans clés primaires uniques et surtout, sans que ça ne gène PHPMyAdmin.

    D'avance merci pour vos réponses.

Discussions similaires

  1. Erreur lors de l'importation de plusieurs fichiers plats
    Par jaskoula1979 dans le forum VBA Access
    Réponses: 2
    Dernier message: 22/09/2011, 17h38
  2. [XSD] Message d'erreur lors de l'import d'un XML
    Par phoenixz22 dans le forum Valider
    Réponses: 1
    Dernier message: 04/10/2007, 09h08
  3. Erreur lors d'une importation!
    Par mathumitha dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 13/02/2007, 19h15
  4. Erreur lors d'un import Oracle
    Par BéBéHi dans le forum Oracle
    Réponses: 12
    Dernier message: 02/05/2006, 16h34
  5. Erreur lors d'un import...
    Par gondek dans le forum Oracle
    Réponses: 17
    Dernier message: 14/02/2005, 13h23

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