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

Langage SQL Discussion :

requete create avec dépendance


Sujet :

Langage SQL

  1. #1
    Membre du Club
    Inscrit en
    mars 2008
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : mars 2008
    Messages : 63
    Points : 43
    Points
    43
    Par défaut requete create avec dépendance
    Bonjour,

    J'ai décidé de me mettre un peu à SQL avec une base de donnée mySql que je ne connais pas vraiment. J'ai créer une table etatMembre avec une clé primaire normale :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    create table etatmembre (
      etatID tinyint unsigned auto_increment primary key,
      etatDescription varbinary(100)
    )ENGINE=InnoDB;
    je l'ai rempli

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    insert into etatmembre (etatdescription) values ('En cours de validation');
    insert into etatmembre (etatdescription) values ('Membre');
    insert into etatmembre (etatdescription) values ('Administrateur');
    maintenant le problème c'est la requete de création de la table membre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    create table membre (
      membreID varbinary(15) not null primary key,
      membrePass varbinary(64) not null,
      membreEtat tinyint not null,
     
      constraint fk_etatmembre
      foreign key membreEtat references etatmembre(etatID)
        on update cascade on delete cascade
    )ENGINE=InnoDB;
    qui me donne le message

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'references etatmembre(etatID)
        on update cascade on delete cascade
    )ENGINE=' at line 7
    Voila donc je pense bien comprendre le sens de ce que j'ai écrit,dans le cas ou je supprime un état cela supprime tous les membres en faisant partit, dans le cas d'une modification alors modification en cascade.

    Mais je ne comprend pas pourquoi ma requête ne passe pas.

    Si quelqu'un à la solution merci d'avance.

  2. #2
    Modérateur

    Homme Profil pro
    Consultant Teradata
    Inscrit en
    septembre 2008
    Messages
    8 052
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Teradata

    Informations forums :
    Inscription : septembre 2008
    Messages : 8 052
    Points : 16 195
    Points
    16 195
    Par défaut
    Il manque des parenthèses je pense :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FOREIGN KEY (membreEtat) REFERENCES etatmembre(etatID)

  3. #3
    Membre du Club
    Inscrit en
    mars 2008
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : mars 2008
    Messages : 63
    Points : 43
    Points
    43
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    create table membre (
      membreID varbinary(15) not null primary key,
      membrePass varbinary(64) not null,
      membreEtat tinyint not null,
     
      constraint fk_etatmembre
      foreign key (membreEtat) references etatmembre(etatID)
        on update cascade on delete cascade
    )ENGINE=InnoDB;
    Ouaip merci ca devait être ca meme si j'ai un autre problème je look sur le web si je trouve une réponse

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Can't create table 'rbvip.membre' (errno: 150)

  4. #4
    Membre du Club
    Inscrit en
    mars 2008
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : mars 2008
    Messages : 63
    Points : 43
    Points
    43
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    create table membre (
      membreID varbinary(15) not null primary key,
      membrePass varbinary(64) not null,
      membreEtat tinyint unsigned not null,
     
      constraint fk_etatmembre
      foreign key (membreEtat) references etatmembre(etatID)
        on update cascade on delete cascade
    )ENGINE=InnoDB;
    hop voila j'ai ma clé primaire tinyint unsigned et la clé étrangère juste tinyint ...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. effectuer une requete insert avec 'values' ET 'select'
    Par delaio dans le forum Bases de données
    Réponses: 4
    Dernier message: 15/08/2004, 20h05
  2. Date nulle dans une requete paramétrée avec TParameter
    Par denrette dans le forum Bases de données
    Réponses: 3
    Dernier message: 16/06/2004, 09h37
  3. requete select avec AS remplacement de valeur
    Par pi3141563 dans le forum Requêtes
    Réponses: 3
    Dernier message: 17/04/2004, 23h15
  4. [version] Requete Update avec différentes versions de mySQL
    Par regbegpower dans le forum Requêtes
    Réponses: 2
    Dernier message: 26/01/2004, 18h19
  5. requete SELECT avec un nombre constant
    Par gurumeditation dans le forum Requêtes
    Réponses: 3
    Dernier message: 04/07/2003, 21h04

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