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 :

creer plusieurs tables avec un seul script


Sujet :

Requêtes MySQL

  1. #1
    Membre du Club
    Inscrit en
    Septembre 2004
    Messages
    96
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 96
    Points : 58
    Points
    58
    Par défaut creer plusieurs tables avec un seul script
    Bonjour
    j'essaie de créer plusieurs avec un seul script
    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
     
    CREATE TABLE Logiciel
    	(nLog       varchar(5),
    	 nomLog     varchar(20) NOT NULL,
    	 dateAch    DATETIME,
    	 version    varchar(7),
    	 typeLog    varchar(9),
    	 prix       DECIMAL(6,2),
    	 CONSTRAINT pk_Logiciel PRIMARY KEY (nLog),
    	 CONSTRAINT ck_prix     CHECK (prix >= 0));
     
    CREATE TABLE Installer
    	(nPoste     varchar(7),
    	 nLog       varchar(5),
    	 numIns     INTEGER(5) AUTO_INCREMENT,
    	 dateIns    TIMESTAMP DEFAULT NOW(),
    	 delai      DECIMAL(8,2),
    	 CONSTRAINT pk_Installer PRIMARY KEY(numIns));
     
    CREATE TABLE Types
    	(typeLP   varchar(9), nomType varchar(20),
    	 CONSTRAINT pk_types PRIMARY KEY(typeLP));
    mais le script crée que la première table
    est ce que c'est le " ; " virgule qui déconne ou il y 'a un paramétrage
    a faire sur mysql

    merci

  2. #2
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 107
    Points : 118
    Points
    118
    Par défaut
    Bonjour,

    Avec quoi execute tu les requêtes? Php? Java? PhpMyAdmin? ...

    Faut bien faire la différence entre execution script et execution requete. Dans le premier cas, il enchaine les requetes, dans le second, il n'en execute qu'une seule.

  3. #3
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    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 : 16 799
    Points : 34 048
    Points
    34 048
    Billets dans le blog
    14
    Par défaut
    Au passage, la contrainte CHECK est acceptée syntaxiquement mais n'est pas implémentée dans MySQL !
    Préférer Postgresql qui est plus rigoureux vis à vis de la norme SQL.

  4. #4
    Membre du Club
    Inscrit en
    Septembre 2004
    Messages
    96
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 96
    Points : 58
    Points
    58
    Par défaut
    bonsoir,
    c'est un script que je l'exécute avec mysql query

  5. #5
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 107
    Points : 118
    Points
    118
    Par défaut
    Re,

    mysql_query, ca ressemble à de la syntaxe PHP. Or voici ce que dit le manuel PHP :
    mysql_query() envoie une seule requête (les requêtes multiples ne sont pas supportées) à la base de données courante sur le serveur associé avec le link_identifier spécifié.
    Or il n'existe à ce jour aucune fonction native PHP qui permets de faire la création d'une base de données avec une fonction mysql. Il faut donc en revenir à la création de multiples requêtes de création.

  6. #6
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    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 : 16 799
    Points : 34 048
    Points
    34 048
    Billets dans le blog
    14
    Par défaut
    Sauf cas assez rares à mon avis (archivage ou importation de données mais ici ce n'est pas le cas), on n'a pas besoin de créer des tables par programme externe.
    Une application développée en PHP utilise une base de données déjà modélisée et implémentée dans le SGBD, elle n'y crée pas de tables. Sinon c'est que la BDD a été mal modélisée.

  7. #7
    Membre du Club
    Inscrit en
    Septembre 2004
    Messages
    96
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 96
    Points : 58
    Points
    58
    Par défaut
    et pourtant j'ai vue ça dans un livre de l'édition Eyrolles
    Apprendre sql avec mysql avec 40 exercices
    No comment!!

  8. #8
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2008
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2008
    Messages : 119
    Points : 97
    Points
    97
    Par défaut
    Sinon tu peux faire ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $tableau=explode(";",$ma_requete);
    foreach($tableau as $req){
      mysql_query($req);
    }
    Le explode te permet de remplir un tableau des différentes requêtes, en précisant que le séparateur est le ";". Puis tu boucle en executant chaque ligne (requête) du tableau.

  9. #9
    Membre du Club
    Inscrit en
    Septembre 2004
    Messages
    96
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 96
    Points : 58
    Points
    58
    Par défaut
    je pense que je me suis mal expliqué
    je voulais dure par mysql query
    le mysql query browser
    pour requêter sur ma base

Discussions similaires

  1. Réponses: 2
    Dernier message: 11/04/2007, 12h14
  2. plusieurs tables avec un seul DBnavigator et DBGRID
    Par warrior dans le forum Bases de données
    Réponses: 8
    Dernier message: 07/06/2005, 08h12
  3. Plusieurs commandes avec 1 seule R-commande
    Par pouldo dans le forum Shell et commandes GNU
    Réponses: 6
    Dernier message: 01/04/2005, 18h44
  4. creer des tables avec un scipt asP
    Par jefferson dans le forum ASP
    Réponses: 11
    Dernier message: 20/12/2004, 15h34
  5. [postgresql]creer une table avec plusieurs clés primaire??
    Par perlgirl dans le forum Langage SQL
    Réponses: 2
    Dernier message: 09/11/2004, 17h24

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