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 :

[mysql]table avec foreign key


Sujet :

Langage SQL

  1. #21
    Xo
    Xo est déconnecté
    Expert confirmé
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Points : 4 238
    Points
    4 238
    Par défaut
    Dis-nous d'abord si tes créations de tables sans les contraintes ont fonctionné ?
    Puis poste-nous le code des "ALTER TABLE", avec le message d'erreur obtenu.

    Il y a un forum MySQL, je peux y déplacer ton sujet si tu le souhaites, vu que ton souci semble être plus lié aux spécificités de ton SGBD qu'à ta syntaxe SQL qui paraît correcte.
    "Ce que l'on conçoit bien s'énonce clairement,
    Et les mots pour le dire arrivent aisément." Nicolas Boileau

    "Expliquer empêche de comprendre si cela dispense de chercher"

    Quiz Oracle : venez tester vos connaissances !

    La FAQ Oracle : 138 réponses à vos questions
    Aidez-nous à la compléter

  2. #22
    Nouveau membre du Club
    Inscrit en
    Novembre 2005
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 54
    Points : 37
    Points
    37
    Par défaut
    yo tout le monde
    Donc en gros voilà mon code avec le alter table
    C'est mon 1er galop d'essai avec les alter table donc c'est peut-être faux "syntaxiquement"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    #creation de la table qui contiendra les utilisateurs et leurs infos
     create table user
    (numero_user int unsigned not null auto_increment primary key,
     nom_user char(50) not null,
     email char(50) not null)
     TYPE=INNODB
    ;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    #creation de la table qui contiendra les operations
     create  table operation
    (numero_operation int unsigned not null auto_increment primary key,
     description char(50) not null,
     fichier_cible char(50) not null)
     TYPE=INNODB
    ;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    #Creation de la table qui lie useroperation. numero_user et numero_operation
    create table user_operation
    (
     numero_operation int(50) unsigned  not null,
    )
     TYPE=INNODB
    ;
    Donc pour le moment tout va bien: les 3 tables sont créées et les champs sont ok.
    Mais une fois que j'ajoute la ligne suivante c'est le drame:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Alter table user_operation
     add numero_user int(50) unsigned not null foreign key (numero_user) references user(numero_user)
    ;
    message d'erreur:

    ERROR 1064 at line 32: 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 'foreign key (numero_user) references user(numero_user)' at line
    Moi pas comprendre!!

    Merci tout le monde

  3. #23
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Points : 2 227
    Points
    2 227
    Par défaut
    L'idée n'est pas d'ajouter la colonne avec un alter table, mais de créer les tables avec toutes leurs colonnes, sans contrainte et de faire un alter table uniquement pour ajouter la contrainte.

    ALTER TABLE ADD CONSTRAINT
    J'affirme péremptoirement que toute affirmation péremptoire est fausse
    5ième élément : barde-prince des figures de style, duc de la synecdoque
    Je ne réponds jamais aux questions techniques par MP

  4. #24
    Nouveau membre du Club
    Inscrit en
    Novembre 2005
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 54
    Points : 37
    Points
    37
    Par défaut
    re tout le monde,

    d'après certaines sources le probleme viendrait de l'installation et de la configuration de mysql C'est possible qu'en fonction de la config, les foreign key ne passent pas ?

  5. #25
    Nouveau membre du Club
    Inscrit en
    Novembre 2005
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 54
    Points : 37
    Points
    37
    Par défaut
    probleme résolu et j'ai pas compris comment !!

    En gros j'ai passé les lignes de mon script qui ne fonctionnait directement par le

    mysql>

    et comme par magie ca a fonctionné...
    Pas trop compris étant donné que les lignes de mon scripts sont les mêmes

    Merci de votre aide tlm

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. creation de tables avec foreign key
    Par fasyr dans le forum Débuter
    Réponses: 9
    Dernier message: 25/04/2009, 18h50
  2. Drop table avec foreign key
    Par samus535 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 23/10/2008, 14h59
  3. Newbie PgSQL->Probleme Creation de table avec FOREIGN KEY
    Par ralkif dans le forum PostgreSQL
    Réponses: 9
    Dernier message: 07/03/2006, 21h59
  4. Création d'une table avec foreign key.
    Par Paulinho dans le forum Débuter
    Réponses: 6
    Dernier message: 01/12/2005, 18h47
  5. Création d'une table avec foreign key
    Par lepierre dans le forum Langage SQL
    Réponses: 5
    Dernier message: 17/09/2004, 14h20

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