jakou verzi? Jaká CHARACTER SET
? A další záležitosti. Před verzí 5.5 existovala CHARACTER SET utf8
, který potřebuje až 3 bajty na znak, ale ne utf8mb4
, který potřebuje až 4. S 5.7 (10.2?) byl problém „vyřešen“. Mezitím byl index omezen na 767 bajtů; není to 3072.
Váš index na VARCHAR(500)
potřebuje 1500 nebo 2000 bajtů.
Zde je můj seznam 5 věcí, které lze udělat:http://mysql.rjweb .org/doc.php/limits#767_limit_in_innodb_indexes
Musíte si mezi nimi vybrat podle toho, s jakou chybou můžete žít.