web-dev-qa-db-ja.com

phpmyadminを使用したMySQLの列の順序の並べ替え

PhpMyAdminを使用してMySQLの列の順序を変更するのに役立ちますか?カーディナリティと呼ばれますか?テーブルを作成しましたが、エクスポートスクリプトが原因で列の順序を変更する必要があります。取り決めに基づいてエクスポートします。例えば。列が欲しい:

Apple | Cherry | Banana

変更後:

Apple | Banana | Cherry
42
karto

ALTER TABLEをMODIFY COLUMNコマンドで使用します。何かのようなもの:

ALTER TABLE foo MODIFY COLUMN Hobby VARCHAR(20) FIRST;

PhpmyadminでGUIを使用する方法があるかどうかはわかりませんが、通常のSQLクエリも機能するはずです。

42
King Skippus

phpMyAdminがついにこの機能を最新バージョン(4.0以降)に含めました。

テーブルの[構造]ビューに移動し、適切なフィールドの[変更]ボタンをクリックし、[列の移動]でフィールドの移動先を選択します。

48
DisgruntledGoat

常に変化する答え!

「変更」ボタンはもうありませんが、「列の移動」ボタンがあります。

正常に動作します。 (つまり、[構造]タブをクリックし、[列の移動]をクリックしてください!)

enter image description here

22
BeNice

列の順序を変更するには、クエリウィンドウをポップアップ表示して、次のステートメントを使用します。

ALTER TABLE ... MODIFY COLUMN ... FIRST|AFTER ...

残念ながら、列定義全体を再入力する必要があります。 http://dev.mysql.com/doc/refman/5.1/en/alter-table.html を参照してください。例:

ALTER TABLE t MODIFY COLUMN cherry VARCHAR(255) NULL AFTER banana;

MySQLのバージョンによって異なる場合がありますが、この構文はバージョン3.23以降で機能するようです。

22
Halcyon

残念ながら、(1)クエリウィンドウをポップアップ表示し、(2)再配置する各列の属性を再指定する必要があります。例えば:

ALTER TABLE test.`new table`
  MODIFY COLUMN cherry unsigned int(10) NOT NULL AUTOINCREMENT PRIMARY KEY 
  AFTER banana

変更前のテーブルレイアウト:

`Apple`  varchar(45) NOT NULL,
`cherry` int(10) unsigned NOT NULL AUTO_INCREMENT,
`banana` varchar(45) NOT NULL

変更後のテーブルレイアウト:

`Apple`  varchar(45) NOT NULL,
`banana` varchar(45) NOT NULL,
`cherry` int(10) unsigned NOT NULL AUTO_INCREMENT
6
Johan