Я настраиваю базу данных с помощью phpMyAdmin. У меня есть две таблицы ( fooи bar), проиндексированные по их первичным ключам . Я пытаюсь создать реляционную таблицу ( foo_bar) между ними, используя их первичные ключи в качестве внешних ключей.
Я создал эти таблицы как MyISAM, но с тех пор изменил все три на InnoDB, потому что я прочитал, что MyISAM не поддерживает внешние ключи. Всеid поля есть INT(11).
Когда я выбираю foo_barтаблицу, нажмите «Просмотр» отношения ссылку, и попытаться установить столбцы FK быть database.foo.idи database.bar.idон говорит «Индекс не определен!» рядом с каждым столбцом.
Чего мне не хватает?
Осветление / Update
Ради простоты я хочу продолжать использовать phpMyAdmin. В настоящее время я использую XAMPP, который достаточно прост, чтобы позволить мне сосредоточиться на PHP / CSS / Javascript, и он поставляется с phpMyAdmin.
Кроме того, хотя я еще не смог установить явные внешние ключи, у меня есть реляционная таблица и я могу выполнять соединения следующим образом:
SELECT *
FROM foo
INNER JOIN foo_bar
ON foo.id = foo_bar.foo_id
INNER JOIN bar
ON foo_bar.bar_id = bar.id;
Просто мне неудобно не иметь FK, явно определенные в базе данных.













