Je suis en train de mettre en place une base de données à l'aide de phpMyAdmin. J'ai deux tables ( foo
y bar
), indexés sur leurs clés primaires . J'essaie de créer une table relationnelle ( foo_bar
) entre eux, en utilisant leurs clés primaires comme clés étrangères.
J'ai créé ces tables en tant que MyISAM, mais j'ai depuis changé les trois en InnoDB, car j'ai lu que MyISAM ne prend pas en charge les clés étrangères. Toutes id
Les champs sont INT(11)
.
Lorsque je choisis le foo_bar
cliquez sur le lien "vue des relations" et essayez de définir les colonnes FK comme étant database.foo.id
y database.bar.id
il est dit "Aucun indice défini !" à côté de chaque colonne.
Qu'est-ce que je rate ?
Clarification/Mise à jour
Pour des raisons de simplicité, je veux continuer à utiliser phpMyAdmin. J'utilise actuellement XAMPP, qui est assez simple pour me permettre de me concentrer sur le PHP/CSS/Javascript, et qui est livré avec phpMyAdmin.
De plus, bien que je n'aie pas encore été en mesure de mettre en place des clés étrangères explicites, je dispose d'une table relationnelle et je peux effectuer des jointures comme celle-ci :
SELECT *
FROM foo
INNER JOIN foo_bar
ON foo.id = foo_bar.foo_id
INNER JOIN bar
ON foo_bar.bar_id = bar.id;
Cela me met mal à l'aise de ne pas avoir les FKs explicitement définis dans la base de données.