2011-07-08 8 views
1

私はMySQLのテーブルの構造を有する:変更mysqlの列行

ALTER table `emails` 
     MODIFY COLUMN `name` your_data_type 
     AFTER `email` 

は続きを読む:私はこれを試してみてください

emails(id , email ,name ) 
+1

何故ですか? – bensiu

+0

なぜそれをしたいのか説明できますか? – fvu

+1

これを実行する正当な理由はないはずです。 – JohnFx

答えて

4

thisのように見えます。

ALTER TABLE emails MODIFY COLUMN name `name_data_type` after email; 
3

にテーブルの順序を変更する方法

emails(id , name , email) 

MySQL documentation

0
  1. 新しいテーブルに古いテーブルの値
  2. が古いテーブル
  3. を削除コピー
  4. 別の名前で新しいテーブルを作成し、古い名前
  5. を持つテーブルを作成します。
  6. 再度値をコピーしてください

ただし、ベスト・プラクティス(検索したい列の名前と設定したい列の名前の記述など)があります。

+0

1-3が同意しています(これは、Mysqlがドコピーを信じていれば、 〜に – fvu

1

この試してみてください。もっと普遍的なアプローチを提供するかもしれない、SquirrelSQLを見て、そのDBCOPYプラグインを持っている、あなたはデータベース間で表データをコピーしたいつまり、あなたが追加したコメントに基づいて

ALTER TABLE emails MODIFY COLUMN name AFTER email 
0

をあなたの目標を達成するためのより軽い、より速い方法。また、異なるブランドのデータベース間でも機能します。