Publicité
+ Répondre à la discussion
Page 5 sur 5 PremièrePremière 12345
Affichage des résultats 81 à 98 sur 98

Discussion: Fusion de BDD

  1. #81

    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 : -8
    Points
    -8

    Par défaut

    Ok donc je reste sur le script !
    Parcontre pour retirer l'auto increment sur la clés primaire ca ne fonctionne pas (j'ai un message d'erreur) je l'ai fais graphiquement parcontre.

  2. #82
    Modérateur
    Avatar de CinePhil
    Homme Profil pro Philippe Leménager
    Ingénieur d'études en informatique
    Inscrit en
    août 2006
    Messages
    13 817
    Détails du profil
    Informations personnelles :
    Nom : Homme Philippe Leménager
    Â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 : 13 817
    Points : 23 076
    Points
    23 076

    Par défaut

    Du moment que c'est fait !
    Si tu le fais graphiquement dans phpMyAdmin, en principe, il affiche la requête qu'il a exécutée pour faire l'opération.
    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. #83

    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 : -8
    Points
    -8

    Par défaut

    Je préfere faire ça en commande pour laisser un script après cela. Parce que graphiquement j'ai fais un peu n'importe quoi vu que les requêtes DROP (pour la clés) ne passe pas ...

  4. #84

    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 : -8
    Points
    -8

    Par défaut

    En exécutant les requêtes d'hier (pour supprimer la clés primaire, créer une nouvelle colonne t1_bdd et ajouter celle ci dans la clés primaire) j'ai le message suivant :
    Code :
    Multiple PRIMARY KEY defined

  5. #85
    Modérateur
    Avatar de CinePhil
    Homme Profil pro Philippe Leménager
    Ingénieur d'études en informatique
    Inscrit en
    août 2006
    Messages
    13 817
    Détails du profil
    Informations personnelles :
    Nom : Homme Philippe Leménager
    Â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 : 13 817
    Points : 23 076
    Points
    23 076

    Par défaut

    Donner le message d'erreur sans donner ce qui a provoqué l'erreur ne sert pas à grand chose !
    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 !

  6. #86

    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 : -8
    Points
    -8

    Par défaut

    Ok, on reprends à 0 tes requêtes :
    En tapant :
    Code :
    1
    2
    ALTER TABLE BDD0.table1
    DROP PRIMARY KEY;
    J'obtiens :
    Code :
    Incorrect TABLE definition; there can be only one auto COLUMN AND it must be defined AS a KEY
    (Le but est d'ajouter un champs d'identification de la BDD dans la clés primaire)
    Merci.

  7. #87
    Modérateur
    Avatar de CinePhil
    Homme Profil pro Philippe Leménager
    Ingénieur d'études en informatique
    Inscrit en
    août 2006
    Messages
    13 817
    Détails du profil
    Informations personnelles :
    Nom : Homme Philippe Leménager
    Â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 : 13 817
    Points : 23 076
    Points
    23 076

    Par défaut

    C'est suite à ça que j'avais dit :
    Citation Envoyé par CinéPhil
    OK il faut alors redéfinir la colonne pour supprimer l'auto-incrément :
    Code :
    1
    2
    ALTER TABLE BDD3.calibration
    -- redéfinition de la colonne actuellement clé primaire en enlevant AUTO_INCREMENT
    Regarde la doc pour te guider.
    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 !

  8. #88
    Modérateur
    Avatar de CinePhil
    Homme Profil pro Philippe Leménager
    Ingénieur d'études en informatique
    Inscrit en
    août 2006
    Messages
    13 817
    Détails du profil
    Informations personnelles :
    Nom : Homme Philippe Leménager
    Â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 : 13 817
    Points : 23 076
    Points
    23 076

    Par défaut

    Ben évidemment !
    Tu lui donnes la contrainte de ne pas être à NULL et tu lui donnes NULL comme valeur par défaut !
    Retire le DEFAULT NULL. Cette colonne est déjà valorisée dans les données que tu va y importer donc la valeur par défaut ne sert ici à rien.
    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. #89

    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 : -8
    Points
    -8

    Par défaut

    J'ai supprimé l'auto incrémentation graphiquement (n'ayant pas trouver la commande sur la doc), j'obtient maintenant le message d'erreur suivant :
    Code :
    Error ON RENAME of '.\bdd3\#sql-570_26e' TO '.\bdd3\calibration' (errno: 150)
    En exécutant la commande suivante :
    Code :
    1
    2
    ALTER TABLE BDD3.calibration
    DROP PRIMARY KEY;
    Merci

  10. #90
    Modérateur
    Avatar de CinePhil
    Homme Profil pro Philippe Leménager
    Ingénieur d'études en informatique
    Inscrit en
    août 2006
    Messages
    13 817
    Détails du profil
    Informations personnelles :
    Nom : Homme Philippe Leménager
    Â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 : 13 817
    Points : 23 076
    Points
    23 076

    Par défaut

    Tu vas trop vite !

    J'ai répondu à un de tes messages que tu as supprimé depuis !

    Réfléchis avant de te précipiter sur le forum !
    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 !

  11. #91

    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 : -8
    Points
    -8

    Par défaut

    J'ai essayé plusieurs manipulations mais ça ne fonctionne toujours pas.
    En testant la requête d'insertion avec une valeur identique la colonne dans la calibration_id, j'ai un ERREUR DUPLICATE KEY.
    Et en mettant le DROP KEY par la suite, il ma pas retirer la clés jaune de la colonne calibration_id, uniquement celle de t1_bdd !
    Merci!

  12. #92
    Modérateur
    Avatar de CinePhil
    Homme Profil pro Philippe Leménager
    Ingénieur d'études en informatique
    Inscrit en
    août 2006
    Messages
    13 817
    Détails du profil
    Informations personnelles :
    Nom : Homme Philippe Leménager
    Â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 : 13 817
    Points : 23 076
    Points
    23 076

    Par défaut

    Donne la description complète de ta table issue de la requête SHOW CREATE TABLE 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 !

  13. #93

    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 : -8
    Points
    -8

    Par défaut

    Voilà la table sur les BDD, dans la BDD centralisée on ajoutera comme on a dit un champs t1_bdd pour identifier la BDD :
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    'calibration', 'CREATE TABLE `calibration` (
      `CALIBRATION_id` int(11) NOT NULL AUTO_INCREMENT,
      `CALIBRATION_Name` varchar(45) NOT NULL,
      `CALIBRATION_Tolerance` float DEFAULT NULL,
      `CALIBRATION_Validity_Time` int(11) NOT NULL,
      `CONFIG_CONFIG_id` int(11) NOT NULL,
      PRIMARY KEY (`CALIBRATION_id`),
      KEY `fk_CALIBRATION_CONFIG1` (`CONFIG_CONFIG_id`),
      CONSTRAINT `fk_CALIBRATION_CONFIG1` FOREIGN KEY (`CONFIG_CONFIG_id`) REFERENCES `config` (`CONFIG_id`) ON DELETE CASCADE ON UPDATE CASCADE
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1'
    Je veux pouvoir entrer des données avec le même calibration_id provenant de BDD différentes.
    Merci;

  14. #94
    Modérateur
    Avatar de CinePhil
    Homme Profil pro Philippe Leménager
    Ingénieur d'études en informatique
    Inscrit en
    août 2006
    Messages
    13 817
    Détails du profil
    Informations personnelles :
    Nom : Homme Philippe Leménager
    Â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 : 13 817
    Points : 23 076
    Points
    23 076

    Par défaut

    Essaie ceci (tu as le droit d'appeler la colonne BDD autrement bien sûr !) :
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    -- Suppression de l'auto_increment par redéfinition de la colonne
    ALTER TABLE calibration
    CHANGE CALIBRATION_id CALIBRATION_id int(11) NOT NULL;
     
    -- Suppression de la clé primaire
    ALTER TABLE calibration
    DROP PRIMARY KEY;
     
    -- Ajout de la colonne pour identifier la BDD d'où proviennent les données importées
    ALTER TABLE calibration
    ADD COLUMN BDD TINYINT NOT NULL;
     
    -- Définition de la nouvelle clé primaire
    ALTER TABLE calibration
    ADD PRIMARY KEY (BDD, CALIBRATION_id);
     
    -- Ajout d'un index sur CALIBRATION_id puisque ce n'est plus la première colonne de la clé primaire
    ALTER TABLE calibration
    ADD KEY (CALIBRATION_id);
    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 !

  15. #95

    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 : -8
    Points
    -8

    Par défaut

    A l'exécution de la 2éme requête j'ai le message d'erreur suivant :
    Code :
    Error ON RENAME of '.\bdd_site\#sql-570_29a' TO '.\bdd_site\calibration' (errno: 150)

  16. #96
    Modérateur
    Avatar de CinePhil
    Homme Profil pro Philippe Leménager
    Ingénieur d'études en informatique
    Inscrit en
    août 2006
    Messages
    13 817
    Détails du profil
    Informations personnelles :
    Nom : Homme Philippe Leménager
    Â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 : 13 817
    Points : 23 076
    Points
    23 076

    Par défaut

    C'est pourtant la bonne syntaxe :
    Citation Envoyé par Doc MySQL
    DROP PRIMARY KEY supprime la clef primaire. Si cette clef n'existe pas, cette commande effacera le premier index UNIQUE de la table. (MySQL marque la première clef UNIQUE en tant que PRIMARY KEY si aucune PRIMARY KEY n'a été spécifiée explicitement.)

    Si vous ajoutez un UNIQUE INDEX ou PRIMARY KEY à une table, c'est enregistré avant les index non-UNIQUE pour que MySQL puisse détecter les valeurs dupliquées aussi vite que possible.
    Il semble que l'errno: 150 soit due à la présence d'une clé étrangère qui fait référence à la clé primaire de cette table.

    Tu peux peut-être essayer de créer d'abord l'index sur la colonne puis supprimer la clé primaire :
    Code :
    1
    2
    3
    4
    5
    6
    7
    -- Ajout d'un index sur CALIBRATION_id puisque ce n'est plus la première colonne de la clé primaire
    ALTER TABLE calibration
    ADD KEY (CALIBRATION_id);
     
    -- Suppression de la clé primaire
    ALTER TABLE calibration
    DROP PRIMARY KEY;
    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 !

  17. #97

    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 : -8
    Points
    -8

    Par défaut

    Ca marche, merci beaucoup !
    Je te tiendrai au courant quant au script complet !

  18. #98

    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 : -8
    Points
    -8

    Par défaut

    J'aimerai maintenant créer un script réutilisable, dans lequel je passe le nom de la BDD en variable, est ce possible de mettre ca dans le fichier SQL d'insertion vers la BDD commune ?

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
  •