• ベストアンサー

「A列B列C列」 → 「A列C列B列」 に変更したい

連日ですみません…。 ご存知の方がいらしたら、よろしくお願いいたします。 「A列B列C列」 → 「A列C列B列」 のように、 すでに入っているデータは保持したまま変更したいのですが、 これは可能でしょうか?

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

  • ベストアンサー
  • mooboogie
  • ベストアンサー率68% (28/41)
回答No.3

ALTER TABLE テーブル名 CHANGE COLUMN B列 B列 char AFTER C列  ※B列 B列は、旧カラム名 新カラム名の意味  ※charは、新カラムの型指定。これは必須のようです。旧と同じでよい。 か、 CREATE TABLE 新テーブル名 select A列,C列,B列 from 旧テーブル名 で、できます。 下のヤツは、PKなどインデックス類は自動付与されません。 スキーマとデータだけです。 ちなみにこの手の不明点は調べるのが簡単で、下記公式サイト(?)を辿れば答えが早いです。

参考URL:
http://dev.mysql.com/doc/refman/4.1/ja/alter-table.html
almati
質問者

お礼

ご回答ありがとうございます! 実は質問した際のテーブル列は、 時間の関係で変更できなかったのです。 でも今後の知識として教えていただいたSQLで テストしてみます!ありがとうございました!

その他の回答 (2)

  • okg00
  • ベストアンサー率39% (1322/3338)
回答No.2

列名の変更ですか? http://www.bitscope.co.jp/tep/MySQL/quickMySQL.html#doc1_id628 http://dev.mysql.com/doc/refman/4.1/ja/alter-table.html 取り出すときに変更するだけならSELECT文を書き換えるだけで select A列,C列,B列 from ~

almati
質問者

お礼

ありがとうございました!

almati
質問者

補足

>列名の変更ですか? >取り出すときに変更するだけなら ・・・・・ いえ、取り出して見るときではなく、 実際のテーブルのフィールドを、 ごそっと入れ替える、といったかんじです。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

MySQLのバージョンくらい書きましょう。バージョンによってできることと できないことがあります。 4.0.1 以降では、CHANGEやMODIFYでAFTERキーワードが使用できます。 http://dev.mysql.com/doc/refman/4.1/ja/alter-table.html

almati
質問者

お礼

ありがとうございました。 拝見して、 ALTER TABLE 'table名' ALTER COLUMN 'B列' AFTER 'C列'; こんな感じでやってみましたが、いまいち…。 もうちょとがんばってみます!

almati
質問者

補足

申し訳ないです。 バージョンは、"4.0.14"です。 URL拝見してみます。