プロが教える店舗&オフィスのセキュリティ対策術

いつもお世話になっております。
列の追加や、列の並びの変更について質問があります。

ALTER TABLE tb ADD~ やALTER TABLE tb MODIFY~で表の構造を変更する場合、列の位置を指定することはできないでしょうか。
たとえば最後の位置とか、○番目とか、×列の後のように指定して
列を追加したり、列の位置を変更する、という意味です。

マニュアルを調べてみたのですがわからず困っております。
どうか、よろしくお願いいたします。

A 回答 (2件)

先日、同じような質問がありましたが……



表を再定義するしか方法はないです。

1. 新しい定義で仮表を作成する
2. 元表のデータを仮表に移動する(INSERT ~ SELECT)
3. 元表を削除(DROP)する
4. 仮表を元表の名前でリネーム(RENAME)する
5. 制約や索引などを追加する

といった手順になります。

オンライン表再定義という方法もあります。
興味があれば検索してみてください。

# この手の要望って結構多いのですねえ
    • good
    • 0
この回答へのお礼

dda167 様
本当にいつもお世話になります。また、お礼が遅くなり申し訳ありませんでした。
再定義するしかないのですね。
MySQLではFIRSTとか、AFTERなどで位置が自由に指定できたので、Oracleでできないものか、と調べていました。
何か自分なりに優先順位を付けた順に並べたほうが、名違えが少なく、扱いやすいと思ったもので。
ご丁寧にありがとうございました。

お礼日時:2010/02/13 00:01

RDBで項目の列を指定することにどんな意味があるのでしょうかね。

    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。
確かに、よく考えてみると、列の並びは確定していれば何でも同じなのかもしれませんね。意味がない、といえば意味がないのかもしれませんね。

お礼日時:2010/02/12 23:53

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!