Page 144 - 4636
P. 144
Зверніть увагу, що в ANSI SQL один оператор ALTERTABLE може здійснити лише одне
перетворення, а ось його MySQL-версія позбавлена подібних обмежень. Для зміни різних
аспектів таблиці можна використовувати різні конструкції перетворення.
Якщо є необов'язкова конструкція IGNORE, яка викликає дублювання первинних ключів, то
при спробі провести зміни, перший рядок з таким ключем залишиться зміненим в таблиці, а
решта будуть видалені. Якщо ж IGNOREне вказана (за замовчуванням), зміна завершується
невдачею, і виконується його відкат.
Різні типи перетворень, що здійснюються оператором ALTERTABLE, перечислені в табл.7.5.
Таблиця7.5 - Можливі перетворення, які виконує операторє ALTER TABLE
Синтаксис Опис
ADD (COLUMN) опис Додає новий стовпець у вказане місце (якщо місце
стовпця не зазначено, стовпця, додається в кінець), опис
стовбца вимагає зазначення імені і типу, точно так
[FIRST | AFTER стовпчик ] само, як в операторі create.
ADD [COLUMN) (опис ^ Додає один або декілька стовпців таблиці.
стовпця, опис стовпця,...)
ADD INDEX [індекс]
(стовпчик, ...) Додає індекс за вказаною стовпця (стовпців) таблиці.
ADD [CONSTRAINT Робить зазначений стовпець (стовпці) первинний
[символ]] ключом таблиці. Конструкція застосовується
PRIMARYKEY (стовпчик, ...) CONSTRAINTдля таблиці з зовнішніми ключами.
ADD UNIQUE Додає унікальний індекс за вказаною стовпцю
[CONSTRAINT[символ]}індекс] таблиці. Конструкція CONSTRAINT застосуванням
(стовпчик, ...) для таблиць InnoDB з зовнішніми ключами.
ADD
[CONSTRAINT[символ]]
FOREIGNKEY [індекс) Додає до таблиці InnoDB зовнішній ключ.
(індексний стовпчик, . . . )
[визначення посилання]
ALTER [COLUMN]
Додає або видаляє значення за замовчуванням
стовпчик (SET DEFAULT
дляпевного стовпця.
значення DROP DEFAULT)
Змінює стовпчик з іменем стовпця у відповідності
ззазначеним описом. Цей синтаксис можна
CHANGE [COLUMN]
використовуватись для зміни імені стовпця,
новий опис стовпчика
оскількиновое_описание_ стовпця включає в себе
ім'я.
MODIFY [COLUMN] опис Подібно CHANGE. Використовується для зміни
стовпчика типівстовпців, але не їх імен.
DROP [COLUMN] стовпчик Видаляє стовпець.
141