Удаляет ли таблица в MySQL также индексы?

Это явно не указано в документации ( http://dev.mysql.com/doc/refman/6.0/en/drop-table.html). Я спрашиваю, потому что я только что увидел любопытную миграцию базы данных в проекте Rails, где разработчик удалял все индексы перед удалением таблицы, и это казалось ненужным.

3 ответа

Решение

Да, это так.

Однако, если у вас есть ограничения внешнего ключа, такие как RESTRICT, которые обеспечивают ссылочную целостность с другими таблицами, вы захотите отбросить эти ключи перед удалением или усечением таблицы.

Да, это понизило бы индекс. Нет причин сохранять индекс, если основной таблицы там нет. Я подозреваю, что нисходящая миграция просто противоположна восходящей миграции на индивидуальной основе.

Это ненужно. Однако ваш DROP TABLE может быть предотвращен, когда таблица является частью отношений внешнего ключа, и удаление вашей таблицы нарушит зависимости.

Другие вопросы по тегам