Изменить порядок столбцов базы данных - PullRequest
3 голосов
/ 06 апреля 2011

Я хочу изменить порядок столбцов, например name - это первый столбец моей таблицы, и в таблице есть еще 10 столбцов. Я хочу вставить новый столбец на 2-й позиции после столбца name. Как это возможно?

Ответы [ 4 ]

7 голосов
/ 06 апреля 2011

1 - Это невозможно без восстановления таблицы, как справедливо указывает Мартин.

2 - В любом случае, рекомендуется указывать, какие поля вы хотите и в каком порядке в ваших SELECT выражениях, как указывает n8wrl.

3 - Если вам действительно нужен фиксированный порядок для ваших полей, можно создать представление, которое выбирает нужные поля в нужном порядке.

5 голосов
/ 06 апреля 2011

Как и строки в таблице, порядок столбцов не имеет значения. На самом деле, лучше указывать порядок, в котором вы хотите столбцы в операторах выбора, а не с помощью select *, поэтому вы можете «вставлять» новые столбцы в любое место, просто написав соответствующие операторы SELECT.

1 голос
/ 17 декабря 2012

Возможно изменить заказ. В некоторых случаях это действительно имеет значение. есть личный опыт. Во всяком случае .. этот запрос работает нормально.
ALTER TABLE user MODIFY Name VARCHAR(150) AFTER address;

0 голосов
/ 22 сентября 2015

Это можно сделать, выполнив следующие действия:

  1. удалите все внешние ключи и первичный ключ исходной таблицы.
  2. переименуйте исходную таблицу.
  3. используя CTAS, создайте исходную таблицу в нужном вам порядке.
  4. удалите старую таблицу.
  5. примените все ограничения обратно к исходной таблице.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...