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 :

[SQL] Importation de plusieurs tables/fichiers


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Octobre 2005
    Messages
    908
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 908
    Par défaut [SQL] Importation de plusieurs tables/fichiers
    Bonjour,

    dans PhpMyAdmin, j'ai pris l'habitude de concevoir en parallèle de la base MySQL, un fichier *.sql pour facilement réinitialiser la base.
    exemple dans mon fichier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    DROP TABLE IF EXISTS `t_type_etablissement`;
    DROP TABLE IF EXISTS `t_etablissement`;
     
    CREATE TABLE `t_type_etablissement` (
      `id` TINYINT UNSIGNED NOT NULL AUTO_INCREMENT,
      `type` VARCHAR(100) NOT NULL,
      `description` TEXT NOT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
    --INSERT ...
    --INSERT ...
    --INSERT ...
     
    CREATE TABLE `t_etablissement` (
      `id` TINYINT UNSIGNED NOT NULL AUTO_INCREMENT,
      `type_id` TINYINT UNSIGNED NOT NULL,
      `nom` VARCHAR(100),
      `ville` VARCHAR(30) NOT NULL,
      PRIMARY KEY (`id`),
      FOREIGN KEY (`type_id`) REFERENCES `t_type_etablissement` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
    --INSERT ...
    --INSERT ...
    --INSERT ...
    A présent, j'aimerais scinder ce fichier en plusieurs fichiers (un pour chaque table).
    Mais étant donné l'existence de jointures, un autre doit être respecté.

    Ma question est donc :
    est-il possible d'importer plusieurs fichiers à partir d'un seul ?
    genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    DROP TABLE IF EXISTS `t_type_etablissement`;
    IMPORT t_type_etablissement.sql
     
    DROP TABLE IF EXISTS `t_etablissement`;
    IMPORT t_etablissement.sql
    Merci d'avance...

  2. #2
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 288
    Par défaut
    Citation Envoyé par Tchupacabra Voir le message
    est-il possible d'importer plusieurs fichiers à partir d'un seul ?
    Je n'ai absolument rien compris.

    Importer des fichiers ne veut rien dire. On exécute des ordres SQL. Qu'ils soient tapés dans la fenêtre SQL ou récupéré depuis un ou plusieurs fichiers ne change rien.

  3. #3
    Membre éclairé
    Inscrit en
    Octobre 2005
    Messages
    908
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 908
    Par défaut
    alors reprenons...

    maintenant que j'ai plusieurs fichiers, un par table (pour faciliter mes modifications).
    Actuellement, si je souhaites "réinitialiser" la base, il faut donc que j'importe un à un tous les fichiers ET dans l'ordre (foreign keys)...

    Donc, j'aimerais trouver une méthode que me permettra de simplifier cette manip (la réinitialisation) en utilisant par exemple qu'un seul fichier capable d'importer / de pointer / de regrouper tous les fichiers (toutes les tables) ET dans l'ordre.

  4. #4
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 288
    Par défaut
    Avec phpMyAdmin, pas possible.

    Avec le client texte, tu peux utiliser l'ordre source, qui fait à peu près ce que tu imaginais pour ton "IMPORT".

    Dernière possibilité, utiliser un code externe (shell, PHP, etc.) qui soumets tes fichiers un à un.

  5. #5
    Membre éclairé
    Inscrit en
    Octobre 2005
    Messages
    908
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 908
    Par défaut
    j'avais pas penser à le faire en PHP... j'essayerai.

    Par contre, j'ai pas trouvé l'ordre SOURCE dans SQL... un p'tit lien ou exemple SVP.

Discussions similaires

  1. Réponses: 4
    Dernier message: 17/03/2008, 16h41
  2. [SQL] SQL Requete sur plusieurs tables/traitement particulier
    Par fluojet dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 12/02/2007, 19h59
  3. Réponses: 1
    Dernier message: 06/12/2006, 18h25
  4. Réponses: 4
    Dernier message: 26/09/2006, 18h28
  5. [SQL] Sélection ds plusieurs table
    Par lord_paco dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 24/07/2003, 17h53

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