Будет отбрасывание AUTO_INCREMENT восстанавливать таблицу в MySQL?

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

Путем выполнения этого Вы не должны переустановить их на всех своих серверах, затем быть грустными, когда необходимо работать над некоторым сервером, где инструменты еще не были установлены.

1
задан 20 September 2009 в 12:40
2 ответа

При удалении (или установке) флаг AUTO_INCREMENT не восстанавливает всю таблицу. Можно легко протестировать то использование таблицы с большим количеством строк (устанавливающий тот флаг, почти мгновенно).

Обновление: Это было, вероятно, верно давным-давно (с MyISAM), но взгляды он больше не имеет место.

1
ответ дан 3 December 2019 в 19:58
  • 1
    Я отчасти подозревал это. Это официально документируется где-нибудь? –  vartec 18 September 2009 в 12:38

Бесспорный ALTER TABLE операторы будут всегда производить страшное, восстанавливают как Ваш описывать.

В случае удаления AUTO_INCREMENT поля единственный способ предотвратить это являются некоторым неподдерживаемым хакерством. Это включает изменение копии таблицы .frm файл. Это работает, потому что информация схемы содержится отдельно от данных и информации об индексе, и модификации не производят несоответствий между тремя.

Можно найти дискуссию об этом по mysqlperformanceblog.org и в книге MySQL High Performance. Важно подчеркнуть, что это не поддерживается все же. Я рекомендовал бы протестировать оба метода (плоскость ALTER TABLE и .frm редактирование) на копии данных сначала. Посмотрите, сколько времени оба процесса берут и проверяют непротиворечивость после.


Править: Извините, я перечитал то, что было записано и ALTER COLUMN не относится к тому, что Вы делаете. Я обновил текст выше.

2
ответ дан 3 December 2019 в 19:58
  • 1
    Таким образом, на самом деле я должен сделать " ALTER TABLE.. ИЗМЕНИТЕ СТОЛБЕЦ.. ОТБРАСЫВАНИЕ DEFAULT" вместо того, чтобы изменять? –  vartec 18 September 2009 в 12:44

Теги

Похожие вопросы