Для связи двух таблиц по принципу многие ко многим действительно используется третья таблица. Вот только содержать она должна всего два поля - id1 и id2, поскольку предназначена только для отображения отношений между двумя сущностями, и не более того. Свой id у строк в такой таблице не нужен, поскольку у вас не будет двух одинаковых записей.