Ovvero:
MySQL supporta più tipi di tabelle. Quando crei una tabella (sempre meglio farlo via SQL e non via applicazioni front-end) se non specifichi il tipo, di default viene impostato a MyIsam, un tipo che non supporta foreign key.
Se vuoi creare anche le foreign key (come diceva tia86 solo dalla 4.*) devi creare tabelle di tipo InnoDb.
codice:
CREATE TABLE NOMETABELLA (
.....
.....
.....
) TYPE=InnoDb;
In questo modo, se non hai già inserito la foreign key nella definizione della tabella lo puoi fare dopo con
codice:
ALTER TABLE NOMETABELLA ADD KEY NOMEKEY (NOMECAMPOKEY),
CONSTRAINT NOMECONSTRAINT FOREIGN KEY (NOMECAMPO) REFERENCES NOMETABELLA (NOMECAMPOREFERENZIATO) [ON DELETE CASCADE/SET NULL/ETC ETC]