Search the MySQL manual:
MySQL Manual

Buy this Reference Manual in softcover from Barnes & Noble!

Previous / Next / Up / Table of Contents

A.6.1 Проблемы с ALTER TABLE

ALTER TABLE изменяет таблицу в соответствии с текущей кодировкой. Если при выполнении ALTER TABLE выдается ошибка дублирующегося ключа, то причина либо в том, что новая кодировка отображает ключи в одинаковые значения, либо в том, что таблица повреждена. В последнем случае на таблице необходимо выполнить REPAIR TABLE.

Если работа ALTER TABLE прекращается с ошибкой, подобной приведенной ниже:

Error on rename of './database/name.frm' to './database/B-a.frm' (Errcode: 17)

то проблема может быть связана с тем, что MySQL аварийно завершился на предыдущей команде ALTER TABLE и осталась старая таблица с именем `A-что_нибудь' или `B-что_нибудь'. В этом случае перейдите в каталог данных MySQL и удалите все файлы, имена которых начинаются с A- или B- (их можно и не удалять, а куда-либо переместить).

ALTER TABLE работает следующим образом:

Если что-то приключится при операции переименования, MySQL попытается отменить изменения. Если случится что-то серьезное (чего произойти, конечно, не должно), MySQL может оставить старую таблицу именованной как `B-xxx' - в этом случае, однако, для восстановления данных достаточно будет просто переименовать ее на системном уровне.

User Comments

Add your own comment.

Top / Previous / Next / Up / Table of Contents