2010-09-22 51 views

Répondre

82

ALTER TABLE peut faire plusieurs modifications de table dans une instruction, mais MODIFY COLUMN ne peut travailler sur une colonne à la fois, vous devez spécifier MODIFY COLUMN pour chaque colonne que vous souhaitez modifier:

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

notez également cet avertissement du manuel:

Lorsque vous utilisez CHANGE ou MODIFY, column_definition doit inclure le type de données et tous les attributs qui doivent appliquer à la nouvelle colonne, autre que l'indice des attributs tels que PRIMAIRES KEY ou UNI QUE. Les attributs présents dans la définition d'origine mais non spécifiés pour la nouvelle définition ne sont pas reportés.

+1

Merci - Très belle !! – JoJo

2

Utilisez la syntaxe suivante:

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

Sur cette base, votre commande ALTER doit être:

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

Notez que:

  1. Il n'y a pas de deuxième crochets autour les instructions MODIFY.
  2. J'ai utilisé deux instructions MODIFY distinctes pour deux colonnes séparées.

C'est le format standard de la déclaration MODIFY pour une commande ALTER sur plusieurs colonnes dans une table MySQL.

Jetez un oeil à l'adresse suivante: http://dev.mysql.com/doc/refman/5.1/en/alter-table.html et Alter multiple columns in a single statement