Я налаштовую базу даних за допомогою phpMyAdmin. У мене є дві таблиці ( foo
і bar
), проіндексовані на їхніх первинних ключах . Я намагаюся створити foo_bar
між ними реляційну таблицю ( ), використовуючи їх первинні ключі як сторонні ключі.
Я створив ці таблиці як MyISAM, але з тих пір змінив усі три на InnoDB, тому що я прочитав, що MyISAM не підтримує сторонні ключі. Усі id
поля є INT(11)
.
Коли я вибираю foo_bar
таблицю, натисніть посилання "перегляд відношення" і спробуйте встановити стовпці FK, щоб він був, database.foo.id
і на database.bar.id
ньому було написано "Не визначено індексу!" біля кожного стовпця.
Що я пропускаю?
Роз'яснення / оновлення
Для простоти я хочу продовжувати використовувати 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;
Мені просто незручно не мати ФД чітко визначених у базі даних.