InnoDB всъщност позволява само 768 БАЙТА в индекса. Също така имайте предвид, че низовете, кодирани с UTF-8, заемат 3 байта на знак, така че в този случай имате само 768/3 знака, с които да играете в индекса.
Възможно решение е да се ограничи дължината на използването на полето в индекса. Въпреки това, тъй като вие също искате уникален индекс, това може да не е приемливо решение за вас. Използвайте следното, за да ограничите дължината на използваните полета.
CREATE UNIQUE INDEX `index_matches_on_foo_and_bar_id_and_baz_id` ON `matches` (`foo`(100), `bar_id`(100), `baz_id`(100))