Właśnie natknąłem się na dziwny problem, w którym w zależności od sposobu utworzenia indeksu wymagana jest nazwa indeksu.
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
Wydaje mi się, że wywołanie CREATE INDEX nie powinno wymagać podania nazwy indeksu. Zastanawiam się, czy jest to MySQLism, czy standard SQL?
ALTER TABLE
(istnieją pewne przypadki, w których różne DBMS utworzą indeksy niejawne w celu obsługi ograniczeń, ale nie o to mi chodzi).