Если не требуется поиска по колонкам, то современные версии MySQL умеют тип json колонок, в которой можно хранить всякие такого рода неструктурированные данные. Или сериализовывать дополнительные данные в строку json, и в текстовом поле сохранять.
А вообще, переходите на светлую сторону силы - PostgreSQL. У него это всё настолько развито, что запрос с join-ами и поиском в некоторых случаях даже существенно медленнее, против запроса по произвольному json. И есть индексы по json. А применительно к вашему вопросу - в PG из коробки есть типы массивов (т.е. поле может хранить массив значений произвольного размера), varchar[] например для списка ссылок вполне подойдет. И есть синтаксис, как массивы преобразовывать во что угодно, выводить произвольный элемент, делать запросы с их использованием и т.п.
Классическое решение вам уже подсказали, но в зависимости от конкретных запросов оно может быть очень неэффективно (и потребуется денормализация). Кроме того, да, ограничивать количество ссылок по колонкам - не очень умно (и код более громоздкий получится).