2010-09-22 3 views

ответ

82

ALTER TABLE может сделать несколько изменений таблицы в одном операторе, но MODIFY COLUMN может работать только на одной колонке, в то время, так что вам нужно указать MODIFY COLUMN для каждого столбца вы хотите изменить:

ALTER TABLE webstore.Store 
    MODIFY COLUMN ShortName VARCHAR(100), 
    MODIFY COLUMN UrlShort VARCHAR(100); 

Кроме того, обратите внимание на это предупреждение от руководства:

При использовании CHANGE или MODIFY, column_definition должен включать в себя тип данных и все атрибуты, которые должны применяться в новый столбец, кроме индекса атрибутов, таких как PRIMARY КЛЮЧ или UNI QUE. Атрибуты, присутствующие в исходном определении, но не указанные для нового определения, не переносятся вперед.

+1

спасибо - очень приятно !! – JoJo

2

Используйте следующий синтаксис:

ALTER TABLE your_table 
    MODIFY COLUMN column1 datatype, 
    MODIFY COLUMN column2 datatype, 
    ... ... ... ... ... 
    ... ... ... ... ... 

Основываясь на том, что ваша команда ALTER должна быть:

ALTER TABLE webstore.Store 
    MODIFY COLUMN ShortName VARCHAR(100), 
    MODIFY COLUMN UrlShort VARCHAR(100) 

Обратите внимание, что:

  1. Там нет второго скобки операторы MODIFY.
  2. Я использовал два отдельных оператора MODIFY для двух отдельных столбцов.

Это стандартный формат MODIFY заявления для ALTER команды на несколько столбцов в таблице MySQL.

Взгляните на следующее: http://dev.mysql.com/doc/refman/5.1/en/alter-table.html и Alter multiple columns in a single statement

 Смежные вопросы

  • Нет связанных вопросов^_^