Hola a los dos,
es cierto, para poder crear claves ajenas (foraneas) en Mysql, primero hay que crear un indice para el campo que va a ser clave ajena. Una vez creado el indice ya se puede crear la foreign key tal y como escribiste en tu primer post.
un saludo