2010-09-22 16 views

Respuesta

82

ALTER TABLE pueden hacer varias alteraciones de mesa en una declaración, pero MODIFY COLUMN sólo puedo trabajar en una columna a la vez, por lo que es necesario especificar MODIFY COLUMN para cada columna que desea cambiar:

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

Además, tenga en cuenta esta advertencia en el manual:

al utilizar CHANGE o MODIFY, column_definition debe incluir el tipo de datos y todos los atributos que deben aplicarse a la nueva columna, aparte de índice de atributos tales como PRIMARIA CLAVE o UNI WHAT. Los atributos presentes en la definición original pero no especificados para la nueva definición no se transfieren.

+1

Gracias - Muy bien !! – JoJo

2

utilice la siguiente sintaxis:

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

Basado en esto, el comando ALTER debe ser:

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

Tenga en cuenta que:

  1. no hay segundas corchetes alrededor las declaraciones MODIFY.
  2. Utilicé dos declaraciones separadas MODIFY para dos columnas separadas.

Este es el formato estándar de la declaración MODIFY de un comando ALTER en varias columnas en una tabla de MySQL.

Tome un vistazo a la siguiente: http://dev.mysql.com/doc/refman/5.1/en/alter-table.html y Alter multiple columns in a single statement

Cuestiones relacionadas