Ich bin dabei, eine Datenbank mit phpMyAdmin einzurichten. Ich habe zwei Tabellen ( foo
y bar
), indiziert auf ihre Primärschlüssel . Ich versuche, eine relationale Tabelle zu erstellen ( foo_bar
) zwischen ihnen, wobei ihre Primärschlüssel als Fremdschlüssel verwendet werden.
Ich habe diese Tabellen als MyISAM-Tabellen erstellt, habe aber inzwischen alle drei auf InnoDB umgestellt, weil ich gelesen habe, dass MyISAM keine Fremdschlüssel unterstützt. Alle id
Felder sind INT(11)
.
Wenn ich die foo_bar
Tabelle, klicken Sie auf den Link "Beziehungsansicht", und versuchen Sie, die FK-Spalten so einzustellen, dass sie database.foo.id
y database.bar.id
heißt es "Kein Index definiert!" neben jeder Spalte.
Was übersehe ich?
Klärung/Aktualisierung
Der Einfachheit halber möchte ich weiterhin phpMyAdmin verwenden. Ich benutze derzeit XAMPP, das einfach genug ist, damit ich mich auf PHP/CSS/Javascript konzentrieren kann, und es kommt mit phpMyAdmin.
Auch wenn ich noch keine expliziten Fremdschlüssel einrichten konnte, habe ich eine relationale Tabelle und kann solche Verknüpfungen durchführen:
SELECT *
FROM foo
INNER JOIN foo_bar
ON foo.id = foo_bar.foo_id
INNER JOIN bar
ON foo_bar.bar_id = bar.id;
Es ist mir einfach unangenehm, dass die FKs nicht explizit in der Datenbank definiert sind.