Reputation: 681
How do I change the order of my table fields without deleting the field and re-inserting it, using PHP myAdmin?
Upvotes: 60
Views: 47878
Reputation: 59
It's simple. Just go to PHPmyadmin, click on your database, then click table. Then click on structure. Below the table look for the button, "Move columns". Click and order the columns the way you want.
Upvotes: 3
Reputation: 960
If you have phpMyAdmin 4.0.0+, you can use the phpMyAdmin Feature under Structure:
Upvotes: 44
Reputation: 829
if you have MySQL Workbench you can easily reorder columns using mouse, graphically.
Just connect to your database, select your table and after right click, alter table and then drag columns to reorder them.
Upvotes: 1
Reputation: 11
Another alternative:
CREATE new_table SELECT columns-in-new-order FROM old_table;
Upvotes: 1
Reputation: 7680
ALTER TABLE `table_name` MODIFY `column_you_want_to_move` DATATYPE AFTER `column`
DATATYPE is something like DATETIME or VARCHAR(20) ..etc
Upvotes: 75
Reputation: 9007
Since version 4.0, phpMyAdmin has a "Move columns" dialog in Structure, that permits you to graphically move columns in the structure.
Upvotes: 9
Reputation: 241
Something like this will help
ALTER TABLE Person MODIFY COLUMN last_name VARCHAR(50) AFTER first_name;
This will move last_name
right after first_name
in order.
Upvotes: 24
Reputation: 268462
http://dev.mysql.com/doc/refman/5.0/en/change-column-order.html
If you decide to change the order of table columns anyway, you can do so as follows:
Create a new table with the columns in the new order.
Execute this statement:
mysql> INSERT INTO new_table
-> SELECT columns-in-new-order FROM old_table;
Drop or rename old_table.
Rename the new table to the original name:
mysql> ALTER TABLE new_table RENAME old_table;
Upvotes: 9