私はデータベースに取り組んでいます。ほとんどのテーブルで、列の順序は私が期待するものではないので、変更したいと思います(私には許可があります)。たとえば、primary_keyのid
列が最初の列になることはめったにありません。
PhpMyAdminで列を移動する簡単な方法はありますか?
ALTER TABLE ... MODIFY COLUMN ステートメントを使用します。
ALTER TABLE table_name MODIFY COLUMN misplaced_column INT(11) AFTER other_column;
これがSQLクエリです
ALTER TABLE table_name MODIFY COLUMN misplaced_column Column-definition AFTER other_column;ここでColumn-definitionは完全な列です定義。 phpmyadminを使用している場合に列の定義を表示するには、[構造]タブをクリックします。次に、目的の列の変更リンクをクリックします。次に、変更を加えて[保存]をクリックします。 SQLが表示されます。 SQLをコピーし、最後に* AFTER other_column *を追加します。それがすべてになります。
* misplaced_column *を最初の位置に移動したい場合は、ALTER TABLE table_name MODIFY COLUMN misplaced_column Column-definition FIRST;
PhpMyAdminについて言及しているので、最新バージョン(4.0以降)で列を並べ替える方法があります。
テーブルの[構造]ビューに移動し、適切なフィールドの[編集](または[変更])ボタンをクリックしてから、[列の移動]でフィールドの移動先を選択します。
ALTER TABLE `table`
CHANGE COLUMN `field` `field`
INT(11) AFTER `field2`;
PhpMyAdminバージョン3.5.5では、[参照]タブに移動し、列を希望の場所にドラッグして並べ替えます(たとえば、A、B、Cという名前の列がある場合は、列CをAとAの間でドラッグするだけです。 BをA、C、Bとして並べ替えます)。
別のアプローチは次のとおりです。
#CREATE TABLE original (
# id INT
# name TEXT
# etc...
#);
CREATE TABLE temp (
name TEXT
id INT
etc...
);
INSERT INTO temp SELECT name, id FROM original;
DROP TABLE original;
RENAME TABLE temp TO original;
新しいバージョンの簡単な方法:
SQL Maestro for MySQLは、GUIを使用してフィールドを並べ替えるツールも提供していますが、残念ながらドラッグアンドドロップではありません。
これを行うための他のプログラムやユーティリティもおそらくあります。検索でこのスレッドを見つけたので、見つけたものを他の人と共有したいと思いました。