+ Répondre à la discussion
Page 3 sur 5 PremièrePremière 12345 DernièreDernière
Affichage des résultats 41 à 60 sur 98

Discussion: Fusion de BDD

  1. #41

    Homme Profil pro
    Inscrit en
    décembre 2011
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : décembre 2011
    Messages : 265
    Points : -6
    Points
    -6

    Par défaut

    Non, je suis en alternance c'est pour ça ... Je rebosse dessus depuis le début de la semaine, j'ai testé tes bouts de code et ca veut pas passer apparament !

  2. #42
    Modérateur
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    août 2006
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : août 2006
    Messages : 14 008
    Points : 25 265
    Points
    25 265

    Par défaut

    Soit.

    la partie remplissage de la BDD3 à partir de BDD 1 et 2 fonctionne pas
    Symptômes ?
    - Pas de données insérées ?
    - Message d'erreur ?
    - 40° de fièvre ?
    Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Autoentrepreneur.
    Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  3. #43

    Homme Profil pro
    Inscrit en
    décembre 2011
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : décembre 2011
    Messages : 265
    Points : -6
    Points
    -6

    Par défaut

    Message d'erreur:
    Code :
    Unknown column 'bdd3.calib_name' in 'where clause'
    La table existe bien ... !

  4. #44
    Modérateur
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    août 2006
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : août 2006
    Messages : 14 008
    Points : 25 265
    Points
    25 265

    Par défaut

    Je suppose que c'est cette requête qui donne le message d'erreur ?
    Code SQL :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    USE bdd_3;
     
    INSERT INTO bdd_3.calib
    SELECT *
    FROM bdd_2.calib
    WHERE NOT EXISTS
    (
    	SELECT 1
    	FROM bdd_3.calibration
    	WHERE bdd_3.calib_name = bdd2.calib_name
    		AND bdd_3.calib_tol = bdd_2.calib_tol
    			AND bdd_3.calib_time = bdd_2.calib_time
     
    );
    bdd_3 est le nom de la base de données, pas celui de la table où pourrait se trouver la colonne calib_name !

    Code SQL :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    USE bdd_3;
     
    INSERT INTO bdd_3.calib
    SELECT *
    FROM bdd_2.calib c2
    WHERE NOT EXISTS
    (
    	SELECT 1
    	FROM bdd_3.calibration c3
    	WHERE c3.calib_name = c2.calib_name
    		AND c3.calib_tol = c2.calib_tol
    			AND c3.calib_time = c2.calib_time
     
    );
    Il y a quand même un truc qui m'étonne : tu insères dans une table appelée calib les lignes qui n'existent pas dans une table calibration.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Autoentrepreneur.
    Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  5. #45

    Homme Profil pro
    Inscrit en
    décembre 2011
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : décembre 2011
    Messages : 265
    Points : -6
    Points
    -6

    Par défaut

    Tu m'as perdu là ! Je regarde et je reviens. Et merci pour l'aide.
    Le but est de copier uniquement les lignes non existantes dans BDD3. J'ai pas trop compris comment m'y prendre. A quoi correspondes c2 et c3? (Au fait la table s'appele calibration, ils ont la même structure...)

  6. #46
    Modérateur
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    août 2006
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : août 2006
    Messages : 14 008
    Points : 25 265
    Points
    25 265

    Par défaut

    Tu as dit que les 3 BDD avaient la même structure.
    Si tu veux insérer des lignes non encore existantes dans bdd3.calib, il faut que tu prennes les données dans bdd2.calib et que tu vérifies si elle n'existent pas déjà dans bdd3.calib.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Autoentrepreneur.
    Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  7. #47

    Homme Profil pro
    Inscrit en
    décembre 2011
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : décembre 2011
    Messages : 265
    Points : -6
    Points
    -6

    Par défaut

    Dans ton code, a quoi correspond c3 et c2 ?
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    USE bdd_3;
     
    INSERT INTO bdd_3.calib
    SELECT *
    FROM bdd_2.calib c2
    WHERE NOT EXISTS
    (
    	SELECT 1
    	FROM bdd_3.calib c3
    	WHERE c3.calib_name = c2.calib_name
    		AND c3.calib_tol = c2.calib_tol
    			AND c3.calib_time = c2.calib_time
     
    );

  8. #48
    Modérateur
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    août 2006
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : août 2006
    Messages : 14 008
    Points : 25 265
    Points
    25 265

    Par défaut

    Ce sont des alias qui évitent de répéter le nom de la table.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Autoentrepreneur.
    Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  9. #49

    Homme Profil pro
    Inscrit en
    décembre 2011
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : décembre 2011
    Messages : 265
    Points : -6
    Points
    -6

    Par défaut

    J'ai toujours un problème :
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    use bdd3
    INSERT INTO bdd3.calib
    SELECT *
    FROM bdd2.calib bdd2
    WHERE NOT EXISTS
    (
    	SELECT 1
    	FROM bdd3.calib bdd3
    	WHERE bdd3.calib_name = bdd2.calib_name
    		AND bdd3.calib_tole = bdd2.calib_tole
    );
    j'ai le message d'erreur suivant:
    Code :
    Table 'ultime_2.calib' doesn't exist
    Merci,

  10. #50

    Homme Profil pro
    Inscrit en
    décembre 2011
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : décembre 2011
    Messages : 265
    Points : -6
    Points
    -6

    Par défaut

    Ca vient de fonctionner (sans comparaison des champs), est il nécessaire de comparer les champs sachant que j'ai des clés primaires et étrangère dans plusieurs tables ?

  11. #51
    Modérateur
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    août 2006
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : août 2006
    Messages : 14 008
    Points : 25 265
    Points
    25 265

    Par défaut

    j'ai le message d'erreur suivant:
    TABLE 'ultime_2.calib' doesn't exist
    Le message est clair : la requête tente d'utiliser une table qui n'existe pas. Comme la base de données ultime_2 n'est pas citée dans la requête que tu postes, soit ce n'est pas cette requête qui génère l'erreur, soit tu ne postes pas la requête réelle qui provoque l'erreur.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Autoentrepreneur.
    Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  12. #52

    Homme Profil pro
    Inscrit en
    décembre 2011
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : décembre 2011
    Messages : 265
    Points : -6
    Points
    -6

    Par défaut

    C'est les noms des bases au fait que j'avais changé.

  13. #53
    Modérateur
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    août 2006
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : août 2006
    Messages : 14 008
    Points : 25 265
    Points
    25 265

    Par défaut

    Donne donc la vraie requête qui provoque l'erreur !
    Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Autoentrepreneur.
    Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  14. #54

    Homme Profil pro
    Inscrit en
    décembre 2011
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : décembre 2011
    Messages : 265
    Points : -6
    Points
    -6

    Par défaut

    Vous me conseillez un script batch/sql ou bien l'utilisation d'un logiciel pour la fusion des BDD (on peut avoir de nouvelles BDD et le probléme du script c'est qu'il faudra ajouter des lignes de codes dans ce cas ...). Si le logiciel me permettra de réaliser cela plus rapidement, vous conseiller quelle logiciel ?
    Pourra t-on automatiser la tâche de fusion des BDD ?
    Merci beaucoup!

  15. #55

    Homme Profil pro
    Inscrit en
    décembre 2011
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : décembre 2011
    Messages : 265
    Points : -6
    Points
    -6

    Par défaut

    Parce qu'au fait, j'ai le message d'erreur suivant :
    Code :
    Cannot add or update a child row: a foreign key constraint fails (`bdd3`.`calibration`, CONSTRAINT `fk_CALIBRATION_CONFIG1` FOREIGN KEY (`CONFIG_CONFIG_id`) REFERENCES `config` (`CONFIG_id`) ON DELETE CASCADE ON UPDATE CASCADE)
    Pourtant dans bdd3 j'ai ajouter une valeur à config_id à l'identique de bdd2 !

  16. #56

    Homme Profil pro
    Inscrit en
    décembre 2011
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : décembre 2011
    Messages : 265
    Points : -6
    Points
    -6

    Par défaut

    Un nouveau soucis (pour les précédents ca c'est amélioré) , j'ai l'erreur suivante :
    Code :
    Duplicate entry '3' for key 'PRIMARY'
    Au fait sur la BDD2 j'ai une ligne avec une clés primaire 3 et sur la BDD3 j'ai déjà une ligne avec l'id 3 mais ce ne sont pas les mêmes informations ... Il refuse d'importer la ligne de la BDD2 !
    Merci beaucoup!

  17. #57

    Homme Profil pro
    Inscrit en
    décembre 2011
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : décembre 2011
    Messages : 265
    Points : -6
    Points
    -6

    Par défaut

    L'idéal serait d'importer dans bdd3 uniquement les champs suivants la clés primaires, (la clés primaires s'incrémente toute seules de toute façons), je ne vois pas comment faire ?
    J'ai remplacé l'étoile par les champs (sauf la clés primaire) mais je suis obligé de taper le champs id apparament sinon j'ai erreur du type (count culomn ...)
    Code :
    1
    2
    3
    INSERT INTO bdd3.config
    SELECT *
    FROM bdd2.config bdd2
    Merci beaucoup!

  18. #58

    Homme Profil pro
    Inscrit en
    décembre 2011
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : décembre 2011
    Messages : 265
    Points : -6
    Points
    -6

    Par défaut

    Personne ?
    J'ai deux BDD de même structure, le but est d'importer les données de la 1ére BDD dans la 2éme, pour éviter les doublons j'aimerai donc ne pas copier le champs _id (clés primaires) des tables, c'est possible ?
    Ma requêtes pour l'instant :
    Code :
    1
    2
    3
    INSERT INTO bdd3.config
    SELECT *
    FROM bdd2.config bdd2
    J'avais penser à mettre à la place de l'étoile les collones suivant la clés primaire mais j'ai un message d'erreur (count colonm) ...
    Merci de m'aider !!!

  19. #59
    Expert Confirmé
    Avatar de olivier.pitton
    Homme Profil pro
    Développeur Java
    Inscrit en
    juin 2012
    Messages
    355
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : juin 2012
    Messages : 355
    Points : 2 844
    Points
    2 844

    Par défaut

    Pourquoi ne pas utiliser les mécanismes de réplication proposés par MySQL ? C'est fait justement pour aller répliquer les données sur d'autres serveurs, donc tu peux le faire en local.

    Documentation

  20. #60

    Homme Profil pro
    Inscrit en
    décembre 2011
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : décembre 2011
    Messages : 265
    Points : -6
    Points
    -6

    Par défaut

    Au fait, chaque PC a une BDD en local (obligatoirement car les PC ne sont pas forcement connectés au réseau donc pas de maitre serveur ...), je voudrais donc créer une BDD sur mon poste avec les résultats des BDD locales ...
    J'ai donc penser à importer les BDD locales régulièrement sur mon poste et envoyer ensuite les lignes vers la BDD centralisés (elle aussi sur mon poste) cependant j'aimerai éviter les doublons en n'envoyant pas la clés primaire ..;
    J'ai penser à la requête précedente mais ça ne fonctionne pas, à la place de l'étoile je ne peux pas mettre les collones suivant la clés primaire ! Une idée parce que je galére vraimment sur ce sujet !!!
    Merci beaucoup

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •