MySQL server " clé etrangére"

Résolu/Fermé
pikamo Messages postés 34 Date d'inscription dimanche 21 mars 2010 Statut Membre Dernière intervention 21 novembre 2012 - Modifié par pikamo le 26/03/2010 à 22:47
 Utilisateur anonyme - 27 mars 2010 à 21:38
salut

merci de m'aider vraiment je suis coincé!!!!!!

création 3 tables :
table utilisateurs : id_user, user_name , password
table typeévènements : id_tpe, tpe_libelle
table évènements : id_tpe, id_user

avec
Les attributs en gras représentent les clés primaires .
Les attributs souligné représentent les clés étrangères.

le code pour crée la table typeévènements
create table typeévènements  ( 
     id_tpe  smallint unsigned not null auto_increment , 
     tpe_libelle varchar (50) not null, 
     primary key (id_tpe) 
    ); 

tous ca marche
le problème est la (table évènements exactement avec la création de les clés étrangères)
create table typeévènements  ( 
     id_user  smallint unsigned not null auto_increment  references utilisateur (id_user),  
    ); 

quant je tape cette commande , il y a erreur ->" id_user not exixt in table "


remarque : le logiciel est MySQL server 5.1 langage "SQL Server"

A voir également:

1 réponse

Utilisateur anonyme
26 mars 2010 à 23:17
bonjour,
je crois qu'il y a erreur dans la creation de la clé etrangere:
FOREIGN KEY (colfk) REFERENCES tablereference(colfkref)
pour comprendre appuyer sur la touche f1 pour chercher l'aide.
derniere chose le code que tu utilise pour creer typeévènements je vois qu'il ne cree pas la table typeévènements mentioné un peu en avant.
0
pikamo Messages postés 34 Date d'inscription dimanche 21 mars 2010 Statut Membre Dernière intervention 21 novembre 2012
27 mars 2010 à 16:20
salut lux Fero

mon problème est de crée un clé étrangère ( clé primary de type auto_increment )
j'ai cherche sur le net j'ai trouver ca :

table CUSTOMER :
SID (cle primary)
Last_Name

table ORDERS :
Order_ID (clé preimary)
Customer_SID (clé étrangère)

pour crée la table ORDERS
CREATE TABLE ORDERS
(Order_ID integer primary key,
Order_Date datetime,
Customer_SID integer references CUSTOMER(SID), ///// clé étrangére
Amount double);

pour crée le clé étrangère :
ALTER TABLE ORDERS
ADD FOREIGN KEY (customer_sid) REFERENCES CUSTOMER(SID);

la le clé est de type interger (int (10)) et si mon clé est auto_increment !!!!
0
bonjour,
je reviens sur ce que je t'avais dis, f1 en mysql ne t'affichera pas de l'aide. je me suis trompé entre mysql et sql server.
pour les types je crois qu'entre le type chaine et numeric il y aura surment des problemes mais entre deux types numerics (integer et int(10)) je n'ai pas d'idée la dessus.
ce qui est sur c'est que le types des table doit être innodb, je te conseille de lire attentivement ce qui est écrit dans le lien suivant et les liens qui te concerne dedans:

http://dev.mysql.com/doc/refman/5.0/fr/using-innodb-tables.html

j'espére que ceci t'aidera.
0