phpMyAdmin を使用してデータベースをセットアップしています。私は 2 つのテーブル (foo
およびbar
)を持っており、それらの主キーでインデックスが作成されています。foo_bar
主キーを外部キーとして使用して、それらの間にリレーショナル テーブル ( ) を作成しようとしています。
これらのテーブルを MyISAM として作成しましたが、MyISAM は外部キーをサポートしていないことを読んだため、3 つすべてを InnoDB に変更しました。すべてのid
フィールドはINT(11)
.
テーブルを選択したら、「リレーション ビュー」リンクをクリックし、FK 列をandfoo_bar
に設定しようとすると、「インデックスが定義されていません!」と表示されます。各列の横。database.foo.id
database.bar.id
私は何が欠けていますか?
明確化/更新
簡単にするために、phpMyAdmin を使い続けたいと思います。私は現在、PHP/CSS/Javascript に集中できるほど簡単な XAMPP を使用しています。これには 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 が明示的に定義されていないのは不快です。