Ответ 1
Используйте команду ALTER TABLE с командой MODIFY COLUMN. Что-то вроде:
ALTER TABLE foo MODIFY COLUMN Hobby VARCHAR(20) FIRST;
Я не знаю, есть ли у него способ GUI в phpmyadmin, но нормальные SQL-запросы также должны работать.
Любая помощь по переупорядочиванию столбцов в MySQL с помощью phpMyAdmin? Это называется мощностью? Я создал таблицы, но мне нужно переупорядочить порядок столбцов из-за экспорта script, который у меня есть. Он экспортирует на основе договоренностей. Например. Мне нужны столбцы:
Apple | Cherry | Banana
изменено на:
Apple | Banana | Cherry
Используйте команду ALTER TABLE с командой MODIFY COLUMN. Что-то вроде:
ALTER TABLE foo MODIFY COLUMN Hobby VARCHAR(20) FIRST;
Я не знаю, есть ли у него способ GUI в phpmyadmin, но нормальные SQL-запросы также должны работать.
phpMyAdmin наконец включил эту функцию в самую последнюю версию (4.0 и выше).
Перейдите в представление "Структура" для таблицы, нажмите кнопку "Изменить" в соответствующем поле, затем в поле "Переместить столбец" выберите, куда вы хотите, чтобы поле уходило.
Чтобы изменить порядок столбцов, всплывающее окно запроса и используйте оператор:
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.
Постоянно меняющийся ответ!
Нет кнопки "Изменить", но теперь кнопка "Переместить столбцы".
Прекрасно работает. (IE перейдите на вкладку "Структура" и нажмите "Переместить столбцы" и вуаля!)
К сожалению, вам нужно будет (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