|
СИНТАКСИС:
ALTER [IGNORE] TABLE table_name alter_specification [, alter_specification
...]
alter_specification:
ADD [COLUMN] create_definition or
CHANGE [COLUMN] old_column_name create_definition or
ALTER [COLUMN] column_name { SET default | DROP DEFAULT } or
DROP [COLUMN] column_name or DROP PRIMARY KEY or DROP INDEX key_name
DROP FOREIGN KEY key_name
ОПИСАНИЕ:
Команда ALTER TABLE может быть использована
для изменения определения таблицы. ALTER TABLE
работает с временно созданной таблицей в
которую копирует все данные из текущей
таблицы. Когда копия готова, старая
таблица удаляется, а новая переименуется в
нее. Это выполнено таким способом, что все
изменения автоматически переназначаются
на новую таблицу.
Пока работает ALTER TABLE, старая таблица
доступна для других клиентов. Обновления и
запись в таблицу останавливаются и будут
выполнены только после того, как новая
таблица будет готова. Если IGNORE не
определен, то копирование будет прервано и
процесс отработан назад в случае наличия
любых уникальных ключей, дублированных в
новой таблице.
- CHANGE column_name, DROP column_name и DROP INDEX являются
MySQL расширениями ANSI SQL.
- [COLUMN] факультативный параметр и может
быть опущен.
- Конструкция ALTER [COLUMN] может быть
использована для изменения или удаления
старого значения по умолчанию.
- ADD и CHANGE используют один и тот же
create_definition, что и CREATE TABLE. См. CREATE
TABLE.
- Если вы удаляете column_name, которое
является частью составного ключа, то
часть ключа будет удалена. Если все
части ключа удалены, то будет удален
весь ключ.
- DROP PRIMARY KEY удаляет первый уникальный
ключ в таблице.
- CHANGE делает лучшее преобразование
существующей информации в новый формат.
- Синтаксис DROP FOREIGN KEY пока существует для
запланированных функциональных
возможностей. В настоящее время не
делает ничего.
Вы можете использовать функцию C API mysql_info(&MYSQL_RESULT)
чтобы узнать, сколько записей скопировано
и сколько удалено из-за дублированных
ключей.
Для использования команды ALTER TABLE вы
должны иметь права доступа select, insert,
delete, update, create и drop для этой
таблицы
|