例えば:
ALTER TABLE webstore.Store MODIFY COLUMN (
ShortName VARCHAR(100),
UrlShort VARCHAR(100)
);
ただし、上記は機能しません。 MySql 5.xを使用しています
ALTER TABLE
は1つのステートメントで複数のテーブル変更を行うことができますが、MODIFY COLUMN
は一度に1つの列でのみ機能するため、MODIFY COLUMN
変更する各列に対して:
ALTER TABLE webstore.Store
MODIFY COLUMN ShortName VARCHAR(100),
MODIFY COLUMN UrlShort VARCHAR(100);
また、マニュアルのこの警告に注意してください。
CHANGEまたはMODIFYを使用すると、
column_definition
には、データ型と、PRIMARY KEYやUNIQUEなどのインデックス属性を除く、新しい列に適用されるすべての属性を含める必要があります。元の定義に存在するが、新しい定義に指定されていない属性は引き継がれません。
次の構文を使用します。
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)
ご了承ください:
MODIFY
ステートメントを囲む2番目の括弧はありません。MODIFY
ステートメントを使用しました。これは、MySQLテーブルの複数の列に対するMODIFY
コマンドのALTER
ステートメントの標準形式です。
以下をご覧ください: http://dev.mysql.com/doc/refman/5.1/en/alter-table.html および 単一のステートメントで複数の列を変更