Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3015 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [SQL] creer 2 tables avec des foreign keys

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[SQL] creer 2 tables avec des foreign keys

n°158108
bmanu
Posté le 12-06-2002 à 22:37:00  profilanswer
 

Je voudrais savoir comment est ce que l'on cree deux tables T1 et T2, contenant chacune une clef etrangere de l'autre table?
 
en effet chaque CREATE TABLE necessite la presence de l'autre table...
 
faut il les creer independamment pour faire ensuite un ALTER?

mood
Publicité
Posté le 12-06-2002 à 22:37:00  profilanswer
 

n°158152
wouatouwou​atou
Posté le 13-06-2002 à 00:20:44  profilanswer
 

Si tu veux creer deux tables avec des relations croisées.. ben t mal barré !!! :)
 
Pask'il vaut mieux eviter ca :)... vaut mieux passer par une table intermediaire.
 
Tu rencontrera des tas de pb. sur tes tables qd tu voudra faire des opérations...
Bref, seul conseil, revois la conception de ta base :)
 
Bon courage :D

n°158638
madam
Posté le 13-06-2002 à 15:23:01  profilanswer
 

Ben là, soit tu en fais 3, soit tu en n'en fais qu'une...mais pourquoi tu as besoin de les croiser, si c'est pas indiscret???

n°158658
theetete
Posté le 13-06-2002 à 15:40:54  profilanswer
 

c est quoi une clef etrangere ?  
et a quoi ca sert ?
merci

n°158683
theetete
Posté le 13-06-2002 à 15:59:04  profilanswer
 

et comment fait on pour contourner les clef etrangeres en mySQL ?

n°158699
madam
Posté le 13-06-2002 à 16:18:29  profilanswer
 

comment ca??? tu veux eviter d'ecrire "FOREIGN KEY...." c'est ca? Ben a ce moment la tu creer par exemple idT1 dans la table T1, idT2 dans la table T2, pis quand tu enregistre une nouvelle ligne, tu prend idT1 pour le mettre dans la table T2, donc idT2. Pis dans les SELECT tu vérifie que idT2=idT1...  :heink:  
bon, je sais pas si je me suis bien exprimée et surtout si je répond a la question... :sweat:

n°158703
theetete
Posté le 13-06-2002 à 16:22:34  profilanswer
 

je voudrais savoir quelle est l utilite des clef etrangeres ?
et sachant que mySQL ne gere pas les foreign keys, quel
methode peut on utiliser pour contourner le probleme

n°158720
madam
Posté le 13-06-2002 à 16:36:51  profilanswer
 

ben oui, tout le probleme est là : mySQL ne les gèrent pas, pas encore ;)  
pour les contourner, tu peux utiliser le truc que j'ai mis juste en haut, c'est a dire utiliser dans chaques tables a joindre une "fausse clée etrangere"
Admettons que tu ait idT1 comme clée primaire, en auto_increment.
Tu veux la joindre a la table T2
donc tu creer dans T2 le champ idT1, qui aura la meme valeur que idT1 de la table T1,  
tu peux recuperer le dernier auto_increment inseré avec mysql_insert_id (lors de ta requete INSERT quoi...) de ta table T1, pis après tu le met dans ta table T2
tu me suis???? :)

n°158741
theetete
Posté le 13-06-2002 à 16:53:25  profilanswer
 

ok donc je repose la question : c koi une clef etrangere ?
et a koi ca sert ?

n°158748
madam
Posté le 13-06-2002 à 16:59:36  profilanswer
 

ben une clée etrangère permet de joindre deux table grace à un attribut commun

mood
Publicité
Posté le 13-06-2002 à 16:59:36  profilanswer
 

n°158839
theetete
Posté le 13-06-2002 à 17:53:34  profilanswer
 

OK merci


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [SQL] creer 2 tables avec des foreign keys

 

Sujets relatifs
comment creer un "programme" qui envoit des netsend en boucle ? .BAT?[SQL] Alternative à "select machin into #tmptruc" ???
Calculer des champs dans une tables[ Postgre Sql ] - on delete cascade
Pb avec une ceation de requete SQL[VB] Requête SQL
SQL server et fonction replace (urgent pliz :/)créer les tables sous SQL/SERVER et sous ORACLE?
Plus de sujets relatifs à : [SQL] creer 2 tables avec des foreign keys


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR