Щойно натрапив на дивну проблему, згідно з якою залежно від того, як я створюю індекс, потрібно вказати ім’я індексу.
http://dev.mysql.com/doc/refman/5.5/uk/create-index.html
http://dev.mysql.com/doc/refman/5.5/uk/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
Мені здається, що виклик CREATE INDEX не повинен робити ім'я індексу обов'язковим. Мені цікаво, чи це MySQLism, чи стандарт SQL?
ALTER TABLE
(є певні випадки, коли неявні індекси створюватимуться різними СУБД для підтримки обмежень, але це не те, що я маю на увазі).