Acabo de encontrar un problema extraño, según el cual, según cómo creo un índice, se requiere un nombre de índice.
http://dev.mysql.com/doc/refman/5.5/en/create-index.html
http://dev.mysql.com/doc/refman/5.5/en/alter-table.html
CREATE INDEX `random_name` ON `my_table` (`my_column`); # Requires an index name
ALTER TABLE `my_table` ADD INDEX (`my_column`); # Does not require an index name
Me parece que la llamada CREATE INDEX no debe hacer que el nombre de índice sea obligatorio. Me pregunto si esto es un MySQLism o un estándar SQL.
ALTER TABLE
(hay ciertos casos en los que varios DBMS crearán índices implícitos para soportar restricciones, pero eso no es lo que quiero decir).