Простой способ изменить порядок столбцов?
Я работаю над базой данных. В большинстве таблиц порядок столбцов не такой, как я ожидал, и я хотел бы его изменить (у меня есть разрешение). Например, столбцы primary_key id
редко являются первым столбцом!
Существует ли простой способ перемещения столбцов с помощью phpMyAdmin?
8 answers
Используйте ТАБЛИЦУ ИЗМЕНЕНИЙ... ИЗМЕНИТЕ инструкцию СТОЛБЦА.
ALTER TABLE table_name MODIFY COLUMN misplaced_column INT(11) AFTER other_column;
Вот sql-запрос
ИЗМЕНИТЬ ТАБЛИЦУ имя_таблицы ИЗМЕНИТЬ СТОЛБЕЦ неправильно помещенный столбец -определение столбца ПОСЛЕ другого столбца;
Здесь в Определение столбца - это полное определение столбца. Чтобы просмотреть определение столбца, если вы используете phpmyadmin, перейдите на вкладку структура. Затем нажмите на ссылку изменить в нужном столбце. Затем, не изменяя ничего, нажмите кнопку Сохранить. Он покажет вам sql. Скопируйте sql и просто добавьте *ПОСЛЕ другого столбца* в конце. Это будет все.
Если вам нравится чтобы переместить столбец *misplaced_column* на первую позицию, затем ИЗМЕНИТЬ ТАБЛИЦУ имя_таблицы ИЗМЕНИТЬ СТОЛБЕЦ неверно помещенный столбец -сначала определение столбца;
Поскольку вы упомянули phpMyAdmin, теперь есть способ изменить порядок столбцов в самой последней версии (4.0 и выше).
Перейдите в представление "Структура" таблицы, нажмите кнопку "Изменить" (или "Изменить") в соответствующем поле, затем в разделе "Переместить столбец" выберите, куда вы хотите переместить поле.
ALTER TABLE `table`
CHANGE COLUMN `field` `field`
INT(11) AFTER `field2`;
В phpMyAdmin версии 3.5.5 перейдите на вкладку "Обзор" и перетащите столбцы в нужное место для изменения порядка (например, если у вас есть столбцы с именами A, B, C, все, что вам нужно сделать, это перетащить столбец C между 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 для MySQL предлагает инструменты для изменения порядка полей, а также с графическим интерфейсом, к сожалению, это не перетаскивание.
- Открыть представление таблицы
- Откройте вкладку Свойства
- Нажмите Изменить порядок полей на боковой панели
- Нажмите на поле, которое вы хотите переместить, а затем нажмите зеленые стрелки вверх или вниз
- Нажмите кнопку ОК, чтобы отправить обновление базы данных
Вероятно, для этого существуют и другие программы и утилиты. Я нашел эту тему в результате поиска, поэтому я думал, что поделюсь тем, что нашел, для других.
Простой метод для более новой версии:
- Откройте таблицу, которую вы хотите изменить порядок.
- Перейдите на вкладку структура.
- Выбрал ссылку переместить столбец.
- Измените порядок столбцов по своему усмотрению.