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 :

Copier un index d'une table a une autre


Sujet :

Requêtes MySQL

  1. #1
    Membre à l'essai
    Homme Profil pro
    Consultant CRM
    Inscrit en
    Février 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Orne (Basse Normandie)

    Informations professionnelles :
    Activité : Consultant CRM
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2016
    Messages : 3
    Points : 10
    Points
    10
    Par défaut Copier un index d'une table a une autre
    Bonjour,

    Je viens vers vous car je rencontre un problème avec une base SQL.
    En effet je possède une base qui à plusieurs tables dont une (accounts) ou se trouve (non, adresse, tel, etc...) et une autre table (email_addresses).
    Quand j’édite, afin d'importer dans un crm en CSV ma table (accounts) + (email_addresses) je me retrouve avec un document inexploitable car la table accounts est en première et l'autre en dessous sans aucune correspondance.

    C'est pourquoi, j'ai essayé d’inséré l'index (email_address) dans la table accounts en faisant ceci :

    j'ai essayé avec ça, mais je me retrouve avec une erreur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    INSERT INTO `accounts`(`email_adress`)
    SELECT `email_address`
    FROM `email_addresses`
    #1062 - Duplicata du champ '' pour la clef 'PRIMARY'
    Et en suite j'ai essayé ceci et là c'est vide.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    INSERT INTO `accounts`(`id`, `email_adress`)
    SELECT `id`, `email_address`
    FROM `email_addresses`
    MySQL a retourné un résultat vide (aucune ligne). (Traitement en 0.1400 sec)

    Je ne sais plus quoi faire.
    Par avance merci d'avoir pris le temps de me lire.

  2. #2
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 136
    Points : 38 909
    Points
    38 909
    Billets dans le blog
    9
    Par défaut
    Bonjour,

    Quelle est la colonne qui vous permet de faire la correspondance entre votre table ACCOUNT et votre table EMAIL_ADDRESSES ?

    Communiquez le DDL complet des 2 tables et de leurs index (create table et create index) ce sera plus facile de vous aider

  3. #3
    Membre à l'essai
    Homme Profil pro
    Consultant CRM
    Inscrit en
    Février 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Orne (Basse Normandie)

    Informations professionnelles :
    Activité : Consultant CRM
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2016
    Messages : 3
    Points : 10
    Points
    10
    Par défaut
    Merci pour votre aide.

    Il me semble que la colonne correspondante est id.

    Comment dois je m'y prendre pour vous transmettre le DDL ?

  4. #4
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 381
    Points : 19 065
    Points
    19 065
    Par défaut
    Salut ericvall.

    Citation Envoyé par ericvall
    je me retrouve avec un document inexploitable car la table accounts est en première et l'autre en dessous sans aucune correspondance.
    Hormis la présentation qui est de votre ressort, votre problème est que vous ne savez pas faire le lien entre la table (accounts) et la table (email_addresses).
    Normalement, vous devez avoir un lien entre ces deux tables qui permet d'associer un email à un compte.

    Prenons l'exemple pour accounts : (non, adresse, tel, id_email, ...)
    et email_addresses : id_email, email, ...)

    La solution consiste à faire une jointure entre vos deux tables.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    select tb1.nom, tb1.adresse, tb1.tel, tb1.id_email,
    tb2.id_email, tb2.email
    from       accounts        as tb1
    inner join email_addresses as tb2
    on tb2.id_email = tb1.id_email;
    Ainsi vous faites le lien entre vos deux tables, mais au niveau de la présentation, vous n'aurez pas deux lignes (l'une concernant accounts et l'autre email_addresses), mais une seule ligne contenant toutes vos informations.

    Pour poursuivre l'investigation, il nous faudrait le descriptif de vos deux tables, un jeu d'essai et ce que vous désirez obtenir au final

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  5. #5
    Membre à l'essai
    Homme Profil pro
    Consultant CRM
    Inscrit en
    Février 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Orne (Basse Normandie)

    Informations professionnelles :
    Activité : Consultant CRM
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2016
    Messages : 3
    Points : 10
    Points
    10
    Par défaut
    Tout d'abord merci à l’équipe pour la mise en forme et surtout pour votre réponse.
    En faite,cette base vient de sugarcrm, et le problème est que le seul lien avec les emails est l'id, sauf que l'id est une clef qui est différente d'une table a une autre, donc pas de lien direct.

    Merci encore, mais là je pense qu'il ni a pas de solution, certainement une volonté du crm.

  6. #6
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 381
    Points : 19 065
    Points
    19 065
    Par défaut
    Salut à tous.

    Citation Envoyé par ericvall
    Tout d'abord merci à l’équipe
    Nous sommes juste des bénévoles qui nous prenons le temps de répondre aux questions posées.
    Il n'y a pas d'équipe où nous nous concertons sur les solutions à proposer.
    Et nous ne sommes pas membre du staff de developpez.

    Citation Envoyé par ericvall
    le problème est que le seul lien avec les emails est l'id, sauf que l'id est une clef qui est différente d'une table a une autre, donc pas de lien direct.
    Y aurait-il une erreur de conception dans votre base de données ?

    Ou bien, n'avez-vous pas vu le lien qui pourrait exister entre ce email et votre table (accounts).
    Il se peut que vous ayez une table intermédiaire pouvais résoudre ce problème.

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

Discussions similaires

  1. copier une table d'une BDD dans une table d'une autre BDD
    Par faniette dans le forum C++Builder
    Réponses: 2
    Dernier message: 15/05/2013, 10h17
  2. Réponses: 1
    Dernier message: 19/10/2011, 12h13
  3. Réponses: 7
    Dernier message: 25/03/2011, 10h52
  4. [AC-2003] insert des données d'une table dans une table d'une base externe
    Par marieo dans le forum VBA Access
    Réponses: 1
    Dernier message: 30/11/2009, 14h29
  5. Copier les enregistrements d'une table vers une table d'une autre DB
    Par karinette21 dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 18/11/2008, 21h50

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