Clé étrangère avec phpmyadmin
Résolu/Fermé
tybmhi
Messages postés
200
Date d'inscription
dimanche 13 juillet 2008
Statut
Membre
Dernière intervention
18 septembre 2017
-
5 août 2008 à 19:12
suzana - 7 mai 2012 à 00:18
suzana - 7 mai 2012 à 00:18
A voir également:
- Clé étrangère phpmyadmin
- Clé windows 10 gratuit - Guide
- Clé usb non détectée - Guide
- Phpmyadmin clé étrangère ✓ - Forum MySQL
- Clé bootable windows 10 - Guide
- Clé usb 2to vrai ou faux - Accueil - Stockage
8 réponses
Marco la baraque
Messages postés
996
Date d'inscription
vendredi 9 mai 2008
Statut
Contributeur
Dernière intervention
5 novembre 2009
329
5 août 2008 à 23:13
5 août 2008 à 23:13
Bonsoir,
Il faut que tu rajoutes un champ à ta table de commentaire pour spécifier à quel post le commentaire se réfère. C'est ça la notion de foreign key.
Pour la création, avec MySQL tu vas donc avoir un truc semblable à :
Evidemment ce script est à adapter en fonction de tes besoins (ALTER TABLE si tes tables existent déjà...).
En ce qui concerne la requête sql, pour sélectionner tous les commentaires d'un post, tu pourras faire :
où post est donc l'identifiant du post. Pas besoin de jointure ici, c'est pas encore très compliqué.
Cordialement.
Il faut que tu rajoutes un champ à ta table de commentaire pour spécifier à quel post le commentaire se réfère. C'est ça la notion de foreign key.
Pour la création, avec MySQL tu vas donc avoir un truc semblable à :
CREATE TABLE posts (id INT NOT NULL, INDEX(id), pseudo VARCHAR(32), lyrics VARCHAR(30000), PRIMARY KEY(id) )TYPE=INNODB; CREATE TABLE comments (id INT NOT NULL, pseudo VARCHAR(32), message VARCHAR(3000) post_id INT NOT NULL, INDEX(post_id), PRIMARY KEY(id), FOREIGN KEY(post_id) REFERENCES posts(id) ON DELETE CASCADE) TYPE=INNODB;
Evidemment ce script est à adapter en fonction de tes besoins (ALTER TABLE si tes tables existent déjà...).
En ce qui concerne la requête sql, pour sélectionner tous les commentaires d'un post, tu pourras faire :
select id, pseudo, message from comments where post_id=post
où post est donc l'identifiant du post. Pas besoin de jointure ici, c'est pas encore très compliqué.
Cordialement.