我正在使用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;
在数据库中没有显式定义fk只是让我感到不舒服。