InnoDB thực sự chỉ cho phép 768 BYTES trong chỉ mục. Ngoài ra, hãy lưu ý rằng các chuỗi được mã hóa UTF-8 chiếm 3 byte cho mỗi ký tự, vì vậy bạn chỉ có 768/3 ký tự để chơi trong chỉ mục trong trường hợp đó.
Một giải pháp khả thi là giới hạn độ dài của trường sử dụng trong chỉ mục. Tuy nhiên, vì bạn cũng muốn có một chỉ mục duy nhất, đó có thể không phải là giải pháp chấp nhận được cho bạn. Sử dụng phần sau để giới hạn độ dài của các trường được sử dụng.
CREATE UNIQUE INDEX `index_matches_on_foo_and_bar_id_and_baz_id` ON `matches` (`foo`(100), `bar_id`(100), `baz_id`(100))