• ベストアンサー

Mysqlに項目を追加するとき順番をかえるには

こんにちは、 今mysqlを使用しています。 例えば、tbl_EXというテーブルがあり、 そこにはid,name,flgが入っているとしたときに addという項目を追加したい場合は ALTER TABLE tbl_EX ADD add int NULL DEFAULT 0 などとすれば追加できると思うのですが、 その追加を id, name, (add), flg というように 真ん中に入れたい場合は、どうすればいいのでしょうか? 一度テーブルをdropして作り替える以外に方法がある場合、 教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

>真ん中に入れたい場合は、どうすればいいのでしょうか? MySQLのバージョンは何でしょうか? マニュアルを見ましたか? MySQLは、ALTER TABLEで列を追加時、列の追加位置を指定できます。 なぜこのようなことが可能かというと、MySQLは以下のような内部処理を行います。 (1)既存の定義&変更内容を反映した新規の表を定義 (2)既存の表から、(1)で定義した表に全行をコピー。この時、定義変更の内容を反映 (3)既存の表を削除 (4)(1)、(2)で作成した表の名前を、元の表名に変更 >一度テーブルをdropして作り替える以外に方法がある場合 利用者側でdrop tableをやる必要はないですが、内部的にMySQLがやってしまうので注意が必要です。

その他の回答 (1)

  • koke29
  • ベストアンサー率58% (114/196)
回答No.1

AFTER `name`を最後に追加すると 出来ると思います

関連するQ&A