Sto configurando un database usando phpMyAdmin. Ho due tabelle ( foo
e bar
), indicizzate sulle loro chiavi primarie . Sto cercando di creare una tabella relazionale ( foo_bar
) tra di loro, usando le loro chiavi primarie come chiavi esterne.
Ho creato queste tabelle come MyISAM, ma da allora le ho cambiate tutte e tre in InnoDB, perché ho letto che MyISAM non supporta le chiavi esterne. Tutti i id
campi sono INT(11)
.
Quando scelgo la foo_bar
tabella, faccio clic sul collegamento "vista relazioni" e provo a impostare le colonne FK in modo che database.foo.id
sia database.bar.id
, dice "Nessun indice definito!" accanto a ogni colonna.
Cosa mi sto perdendo?
Chiarimento / Aggiornamento
Per semplicità, voglio continuare a usare phpMyAdmin. Attualmente sto usando XAMPP, che è abbastanza facile da farmi concentrare su PHP / CSS / Javascript, e viene fornito con phpMyAdmin.
Inoltre, sebbene non sia stato ancora possibile impostare chiavi esterne esplicite, ho una tabella relazionale e posso eseguire join in questo modo:
SELECT *
FROM foo
INNER JOIN foo_bar
ON foo.id = foo_bar.foo_id
INNER JOIN bar
ON foo_bar.bar_id = bar.id;
Mi sento a disagio a non avere gli FK esplicitamente definiti nel database.