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
   139   140   141   142   143   144   145   146   147   148   149