Простой способ переупорядочить столбцы? - PullRequest
27 голосов
/ 04 ноября 2010

Я работаю над базой данных. На большинстве таблиц порядок столбцов не тот, который я ожидал, и я хотел бы изменить его (у меня есть разрешение). Например, id столбцы primary_key редко являются первым столбцом!

Есть ли простой способ перемещения столбцов с помощью phpMyAdmin?

Ответы [ 8 ]

54 голосов
/ 04 ноября 2010

Используйте оператор ALTER TABLE ... MODIFY COLUMN .

ALTER TABLE table_name MODIFY COLUMN misplaced_column INT(11) AFTER other_column;
6 голосов
/ 17 декабря 2012

Вот запрос sql
ALTER TABLE table_name MODIFY COLUMN misplaced_column Определение столбца AFTER other_column; Здесь в Определение столбца - полное определение столбца. Чтобы увидеть определение столбца, если вы используете phpmyadmin, нажмите на вкладку структуры. Затем нажмите на ссылку изменить в нужном столбце. Затем без изменений нажмите кнопку «Сохранить». Он покажет вам sql. Скопируйте sql и просто добавьте * AFTER other_column * в конце. Это будет все.

Если вы хотите перенести * misplaced_column * на первую позицию, тогда ALTER TABLE table_name MODIFY COLUMN misplaced_column Определение столбца FIRST;

5 голосов
/ 22 июля 2013

Поскольку вы упоминаете phpMyAdmin, теперь есть способ изменить порядок столбцов в самой последней версии (4.0 и выше).

Перейдите в представление «Структура» для таблицы, нажмите «Изменить» (или «Изменить») в соответствующем поле, затем в разделе «Переместить столбец» выберите место, куда вы хотите поместить поле.

4 голосов
/ 04 ноября 2010
ALTER TABLE `table`
CHANGE COLUMN `field` `field` 
INT(11) AFTER `field2`;
2 голосов
/ 02 декабря 2014

В phpMyAdmin версии 3.5.5 перейдите на вкладку «Обзор» и перетащите столбцы в нужное место для изменения порядка (например, если у вас есть столбцы с именами A, B, C, все, что вам нужно сделать, это перетащить столбец Cмежду A и B, чтобы изменить порядок как A, C, B).

1 голос
/ 04 ноября 2010

Другой подход заключается в:

#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;
0 голосов
/ 01 сентября 2017

Простой метод для новой версии:

  1. Откройте таблицу, которую вы хотите изменить.
  2. Перейти на вкладку структуры.
  3. Выберите ссылку на перемещение столбца.
  4. Изменение порядка столбцов, как вы хотите.
0 голосов
/ 13 декабря 2013

SQL Maestro для MySQL предлагает инструменты для изменения порядка полей, а также с графическим интерфейсом, к сожалению, это не перетаскивание.

  1. Открыть таблицу
  2. Открыть вкладку свойств
  3. Нажмите Изменить порядок полей на боковой панели
  4. Нажмите на поле, которое вы хотите переместить, а затем нажмите зеленые стрелки вверх или вниз
  5. Нажмите кнопку ОК, чтобы отправить обновление базы данных

Возможно, для этого есть и другие программы и утилиты. Я нашел эту ветку в поиске, поэтому решил поделиться тем, что нашел для других.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...