Lier deux tables phpmyadmin sous wampserver

Par Isselmoumg, il y a 10 ans


Base de données MySQL

Bonjour,
Je manipule ma base via phpmyadmin de wampserver, et je voudrais pouvoir lier deux tables, auterment definir la clé primaire de la table categories comme une clé etrangére pour la table objets.

11 réponses

Huggy, il y a 10 ans

Pour le lien "vue relationnelle"

et lorsqu'on clique dessus

Huggy, il y a 10 ans

Bonsoir Isselmoumg
Tu dois afficher la structure de la table côté clé étrangère, en dessous tu as un lien "vue relationnelle"
pour créer une relation, tu dois dabord créer un index (non unique) sur la clé étrangère
ensuite dans "vue relationnelle" tu dois préciser la clé primaire et sa table puis la clé étrangère et sa table.
point important, Il faut des tables innodb.

Lartak, il y a 10 ans

Bonjour.
Il est inutile de préciser pour WampServer, que ce soit avec WampServer ou non, le fonctionnement de PHPMyAdmin ne changera pas pour autant et encore moins pour les relations entre les tables.

Pour information, il y a un tutoriel qui te servira : Tutoriel Vidéo Mysql » Les jointures MySQL by Grafikart.

Isselmoumg, il y a 10 ans

Mr Lartak, j'ai specifié wampserver par ce que phpadmin sous easyphp, il y'a un lien sestion des relations, parcontre sous wampserver il n'a pas un tel lien.

Isselmoumg, il y a 10 ans

Mr Huggy, je n'ai pas vu un tel lien, en dessous de table,

Lartak, il y a 10 ans

Mr Lartak, j'ai specifié wampserver par ce que phpadmin sous easyphp, il y'a un lien sestion des relations, parcontre sous wampserver il n'a pas un tel lien.

Je suis désolé, mais il y a bien le lien pour les relations (Vue relationnelle) dans PHPMyAdmin sous WampServer.
Il suffit d'afficher la structure d'une table et en dessous du tableau, il y a le lien après le lien Version imprimable.

Huggy, il y a 10 ans

Dans l'exemple en image, (issu de la doc cakephp), on voit 2 relations car c'est la table intermédiaire 'bookmarks_tags'
la clé étrangère 'bookmark_id' est reliée à la clé primaire 'id' de la table 'bookmarks'
Concernant le comportement ON DELETE, il s'applique lorsqu'on supprime un enregistrement 'parent'. ici RESTRICT indique que l'action de suppression est bloquée. avec CASCADE, la suppression du parent entraine automatiquement la suppression des enfants, et si les enfants ont eux-même des enfants, on supprime en cascade.
L'option SET NULL remplace la valeur de la clé étrangère par NULL, la suppression a lieu et les enfants sont orphelins !!!
L'évènement ON UPDATE agit lorsqu'on modifie la clé primaire du parent, c'est peu courant mais le principe est le même que pour ON DELETE.
Les contraintes d'intégrité référentielles permettent d'avoir toujours une base de données intègre, c'est à dire que toutes les clés étrangères font référence à une clé primaire existante.

Isselmoumg, il y a 10 ans

Bonjour,
Croyez moi, Mr Huggy et Lartak, le lien vue relationnelle ne s'affiche pas chez moi, apres avoir cliqué sur structure je ne trouve que verstion imprimable et suggerer des optimisation . je vous jure

Isselmoumg, il y a 10 ans

Huggy, il y a 10 ans

Comme je l'ai dit plus haut, ta table doit être de type innodb

Benjamin Derepas, il y a 10 ans

As tu bien créer tes tables au format InnoDB ? Car le moteur myIsam ne gère pas (à ma connaissance ? ) les contraintes relationnelles.