InnoDB ve skutečnosti povoluje pouze 768 BYTES v indexu. Všimněte si také, že řetězce kódované UTF-8 zabírají 3 bajty na znak, takže v tomto případě máte v indexu na hraní pouze 768 / 3 znaků.
Možným řešením je omezení délky použití pole v indexu. Protože však chcete také jedinečný index, nemusí to být pro vás přijatelné řešení. K omezení délky použitých polí použijte následující.
CREATE UNIQUE INDEX `index_matches_on_foo_and_bar_id_and_baz_id` ON `matches` (`foo`(100), `bar_id`(100), `baz_id`(100))