Нет.Индекс - это просто ... индекс по полю.Внешний ключ сообщает MySQL, что «это конкретное поле ДОЛЖНО иметь соответствующую запись в этой таблице».
Внутренний дизайн MySQL требует, чтобы все поля, используемые в качестве внешних ключей, были проиндексированы, но современные версии автоматически создадут этот индексдля вас.
Обратное неверно, кто бы то ни было.Добавление индекса в поле не превращает его в внешний ключ - определение внешнего ключа также должно включать в себя то, что является внешней таблицей / полем, а в простом объявлении индекса нет этой информации.
Для вашего примератаблица, вам нужно иметь
...
INDEX (lang_id),
FOREIGN KEY (lang_id) REFERENCES languages (lang_id),
...
для создания внешнего ключа.