France Hardware : Forums de discussion
Retrouvez les prix près de chez vous :  
Index du forum | Liste des membres | Liste des groupes | Inscription | F-A-Q | Recherche
Pseudo :    Password :     
23 068 membres enregistrés - 1 897 087 posts - 97 466 topics
Index des forums FH  | Index des forums DegroupNews
      Programmation
           Langages Web
                [PHP/MySQL] Représentation des identifiants relatifs
20 connectés(record : 207 le 05 juin 2007 - 05 h 23)

Vous devez vous connecter pour répondre au topic.
[PHP/MySQL] Représentation des identifiants relatifs

KibitO
Betty Boop ma chérie je t\\\'aime plus que tout !!

Messages : 1 715
Inscrit le 22/02/02
Ville : Chassagny
Non connecté
  Posté le 07 avril 2004 - 10 h 33 m 48 s
Je vous embette encore avec PHP/MySQL.

Je voulais savoir la syntaxe correcte pour représenter mes identifiants relatifs sous MySQL.

Faut-il que je mette :

CREATE TABLE COMMENTAIRE
(
no_comm, no_news INTEGER(10) NOT NULL,
....
....

PRIMARY KEY (no_comm, no_news),
FOREIGN KEY (no_utilisateur) REFERENCES UTILISATEUR
);

???


Message édité 1 fois, la dernière par Erel69 le 05 mai 2004 - 10 h 29.

KibitO Piccoloo Porto

Ooooohhhhoooohohohoh I Love U So, Oooooohohohohooohohoooooo I Need You So
(© Wampas)

!! DefraK !!


grabber
Coordinateur
MacBook Pro 2,4 Powered

Messages : 8 593
Inscrit le 06/03/02
Ville : Angers
Non connecté
  Posté le 09 avril 2004 - 13 h 47 m 19 s
pas de cles etrangeres dans mysql !!! re...



:firefox:

KibitO
Betty Boop ma chérie je t\\\'aime plus que tout !!

Messages : 1 715
Inscrit le 22/02/02
Ville : Chassagny
Non connecté
  Posté le 18 avril 2004 - 12 h 06 m 07 s
.. ??



KibitO Piccoloo Porto

Ooooohhhhoooohohohoh I Love U So, Oooooohohohohooohohoooooo I Need You So
(© Wampas)

!! DefraK !!


Erel69
206
(¯`·.__[T3aM.L1b3rTe©]__.·´¯)

Messages : 19 449
Inscrit le 07/11/01
Ville : Lyon
Non connecté
  Posté le 20 avril 2004 - 01 h 40 m 34 s
les FOREIGN KEYS n'existe pas sous mysql



Obscurité au-delà du crépuscule, pourpre au-delà du sang qui coule, enfoui dans le flot du temps, en ton haut nom, je jure fidélité à l'obscurité. Que les fous qui se dressent devant nous soient détruits, par le pouvoir que toi et moi possédons...

DeVice
Boulet occasionel...

Messages : 3 022
Inscrit le 12/03/03
Ville : Grenoble
Non connecté
  Posté le 20 avril 2004 - 12 h 07 m 02 s
Si tu as besoin d'un SGBD libre qui fasse ça, je crois que PostgreSQL est ton sauveur.

Après vérification : oui c'est possible !



Règle N°1 du forumeur : "Ta souris 7 fois autour du bouton poster tu tourneras, ainsi moins pour un âne de passer tu risqueras"

KibitO
Betty Boop ma chérie je t\\\'aime plus que tout !!

Messages : 1 715
Inscrit le 22/02/02
Ville : Chassagny
Non connecté
  Posté le 21 avril 2004 - 12 h 21 m 04 s
Justement, si seulement je pouvais utiliser PostGreSQL.... malheureusement je me contente de bosser sur les serveurs Free qui possèdent PHPMyAdmin.. et donc MySQL.. hum g quand même laissé mes clés étrangères, jvais bosser comme en SQL. Mais alors comment pouvez-vous faire les jointures entre tables si vous ne possédez pas de clés étrangères ?



KibitO Piccoloo Porto

Ooooohhhhoooohohohoh I Love U So, Oooooohohohohooohohoooooo I Need You So
(© Wampas)

!! DefraK !!


iraysyvalo
-

Messages : 9 647
Inscrit le 19/11/02
Ville : Lyon
Non connecté
  Posté le 21 avril 2004 - 13 h 31 m 22 s
Tu peux faire une jointure sur n'importe quel champ, non ?




Pour un ban rapide et garanti sur ce forum, argumentez vos posts, dites simplement la verite, parlez de la realite et les leche-culs d'un cote et les maniaques du ban de l'autre se feront un plaisir de vous envoyer au purgatoire aussi sec.


KibitO
Betty Boop ma chérie je t\\\'aime plus que tout !!

Messages : 1 715
Inscrit le 22/02/02
Ville : Chassagny
Non connecté
  Posté le 21 avril 2004 - 13 h 41 m 25 s
je pense, à condition qu'ils soient identiques. Ce que je voulais dire, c'est que pour faire une jointure entre une table UTILISATEUR et MESSAGE par exemple, il faudra bien faire le lien entre l'identifiant Num_User de UTILISATEUR (par exemple) et la clé étrangère #Num_User dans MESSAGE. Sinon je vois mal comment faire une jointure, à moins que dans la table MESSAGE, le Num_User soit un champ normal, identique à celui de la table UTILISATEUR.

Je vois plus la chose ainsi :

TABLE UTILISATEUR
---------------------------
Num_User
Pseudo_User
MdpUser
etc.

TABLE MESSAGE
-----------------------
Num_Message
Libelle_Message
Contenu_Message
Num_User


Message édité 1 fois, la dernière par KibitO le 21 avril 2004 - 13 h 43.

KibitO Piccoloo Porto

Ooooohhhhoooohohohoh I Love U So, Oooooohohohohooohohoooooo I Need You So
(© Wampas)

!! DefraK !!


lyght


Messages : 12
Inscrit le 30/09/03
Ville : [42] Saint Cham'
Non connecté
  Posté le 21 avril 2004 - 16 h 10 m 14 s
Je ne vois pas trop ton problème... Sur les 2 tables que tu viens de décrire, pour faire ta jointure, tu fais ça avec tes mimines, exemple, pour récupérer tous les messages du user 1 :

SELECT * FROM Utilisateur, Message
WHERE Utilisateur.Num_User = 1
AND Message.Num_User = Utilisateur.Num_User;

Bien sûr, il faut aussi que les champs Num_User des 2 tables soient du même type (peut-être même seulement Numérique/Numérique, à confirmer...).

Concernant mon exemple, tu peux aussi t'emmerder avec le mot-clé SQL JOIN, genre comme ça :

SELECT *
FROM Message LEFT JOIN Utilisateur ON Message.Num_User = Utilisateur.Num_User
WHERE Utilisateur.Num_User = 1;

Je dois avouer que je ne suis plus très sûr de la syntaxe du JOIN mais bon, je te laisse le soin de chercher sur mysql.com...

Enfin, dernière chose : si l'association que tu voulais créer entre les 2 tables devait servir "l'intégrité référentielle" de ta base, effectivement, là MySQL ne peut plus rien pour toi...

Euh... J'espère que j'ai été clair... Ca t'a aidé ? :-)




KibitO
Betty Boop ma chérie je t\\\'aime plus que tout !!

Messages : 1 715
Inscrit le 22/02/02
Ville : Chassagny
Non connecté
  Posté le 21 avril 2004 - 20 h 27 m 43 s
Oui je vois à peu près ta façon de bosser. Le souci avec ton exemple, c'est que tu inclu le chiffre 1 dans ta requete. Je te rappelle que lorsque tu écris ou exécute une requete, tu n'es pas censé connaitre le contenu de la base. Bon ben je vais rester finalement sur mon idée de départ, avec mes clés étrangères même si cela ne sert à rien, au moins ça marche.

En tout cas merci pour vos aides.



KibitO Piccoloo Porto

Ooooohhhhoooohohohoh I Love U So, Oooooohohohohooohohoooooo I Need You So
(© Wampas)

!! DefraK !!


iraysyvalo
-

Messages : 9 647
Inscrit le 19/11/02
Ville : Lyon
Non connecté
  Posté le 21 avril 2004 - 21 h 39 m 14 s
Enleves la reference au num_user=1 et ca marche quand meme ....

T'as PAS BESOIN de cle etrangere pour faire une jointure ....

Ou autrement dit une jointure ne se fait pas forcement sur une cle etrangere ..




Pour un ban rapide et garanti sur ce forum, argumentez vos posts, dites simplement la verite, parlez de la realite et les leche-culs d'un cote et les maniaques du ban de l'autre se feront un plaisir de vous envoyer au purgatoire aussi sec.


lyght


Messages : 12
Inscrit le 30/09/03
Ville : [42] Saint Cham'
Non connecté
  Posté le 22 avril 2004 - 10 h 35 m 23 s

T'as PAS BESOIN de cle etrangere pour faire une jointure ....
Ou autrement dit une jointure ne se fait pas forcement sur une cle etrangere ..


:yes: Euh... Voilà, c'est à peu près ce que je voulais dire... :)




Page genérée en 0.3353 secondes par RahForum 2.0 | Gzip off |  Stats |  Metaforums |  RSS
© 2004 Cerbere Systems.
Prix Matériel Informatique | Informatique Lyon | Informatique Grenoble | Informatique Annecy | Informatique Marseille | Informatique Bordeaux | Forum Informatique
ADSL |Actualité ADSL | e-commerce | Commande Au Volant
Creative Commons
Message Boards and Forums Directory