「A列B列C列」 → 「A列C列B列」 に変更したい
連日ですみません…。
ご存知の方がいらしたら、よろしくお願いいたします。
「A列B列C列」 → 「A列C列B列」
のように、
すでに入っているデータは保持したまま変更したいのですが、
これは可能でしょうか?
回答(3件)
- 最新から表示
- |
- 回答順に表示
- |
- ベストアンサーのみ表示
No.3ベストアンサー20pt
ALTER TABLE テーブル名 CHANGE COLUMN B列 B列 char AFTER C列
※B列 B列は、旧カラム名 新カラム名の意味
※charは、新カラムの型指定。これは必須のようです。旧と同じでよい。
か、
CREATE TABLE 新テーブル名 select A列,C列,B列 from 旧テーブル名
で、できます。
下のヤツは、PKなどインデックス類は自動付与されません。
スキーマとデータだけです。
ちなみにこの手の不明点は調べるのが簡単で、下記公式サイト(?)を辿れば答えが早いです。
この回答へのお礼
ご回答ありがとうございます!
実は質問した際のテーブル列は、
時間の関係で変更できなかったのです。
でも今後の知識として教えていただいたSQLで
テストしてみます!ありがとうございました!
列名の変更ですか?
http://www.bitscope.co.jp/tep/MySQL/quickMySQL.h …
http://dev.mysql.com/doc/refman/4.1/ja/alter-tab …
取り出すときに変更するだけならSELECT文を書き換えるだけで
select A列,C列,B列 from ~
この回答への補足
>列名の変更ですか?
>取り出すときに変更するだけなら
・・・・・
いえ、取り出して見るときではなく、
実際のテーブルのフィールドを、
ごそっと入れ替える、といったかんじです。
この回答へのお礼
ありがとうございました!
MySQLのバージョンくらい書きましょう。バージョンによってできることと
できないことがあります。
4.0.1 以降では、CHANGEやMODIFYでAFTERキーワードが使用できます。
http://dev.mysql.com/doc/refman/4.1/ja/alter-tab …
この回答への補足
申し訳ないです。
バージョンは、"4.0.14"です。
URL拝見してみます。
この回答へのお礼
ありがとうございました。
拝見して、
ALTER TABLE 'table名' ALTER COLUMN 'B列' AFTER 'C列';
こんな感じでやってみましたが、いまいち…。
もうちょとがんばってみます!
- 最新から表示
- |
- 回答順に表示
- |
- ベストアンサーのみ表示











