Он не связывает таблицы автоматически друг с другом, и указанные столбцы не обязательно должны иметь одно и то же имя (фактически, существуют ситуации, когда это невозможно: например, когда в таблице два столбца, на которые ссылаются оба тот же столбец в другой таблице).
Читать на внешних ключах; они стандартный SQL и делают именно то, что вы хотите. Однако обратите внимание, что механизм хранения MyISAM не может применять ограничения внешнего ключа, поэтому, пока любая из задействованных таблиц использует MyISAM, объявление внешнего ключа не добавляет много (однако, оно документирует отношения, по крайней мере, в вашей SQL-скрипты).
Я предлагаю вам использовать InnoDB (или, если это возможно, переключиться на PostgreSQL - он не только обеспечивает ограничения внешнего ключа, он также имеет полную поддержку транзакций, в отличие от MySQL, который будет молча фиксировать ожидающую транзакцию всякий раз, когда вы что-то делаете это не поддерживается в транзакции, с потенциально разрушительными результатами). Если вы хотите / хотите использовать MySQL, я предлагаю вам использовать InnoDB для всего, если только вы не знаете, что вам нужна дополнительная производительность, которую вы можете получить от MyISAM и , вы можете позволить себе предостережения. Также имейте в виду, что перенос больших таблиц из MyISAM в InnoDB на более поздних этапах производства может быть болезненным или даже невозможным.