Справочное руководство по MySQL версии 4.0.11-gamma

         

A.6.2 Как изменить порядок столбцов в таблице


A.6.2 Как изменить порядок столбцов в таблице

Основная идея SQL заключается в том, чтобы разделить приложения и формат хранения данных. Всегда следует указывать порядок извлечения данных, например:

SELECT col_name1, col_name2, col_name3 FROM tbl_name;



возвратит столбцы в порядке col_name1, col_name2, col_name3, тогда как:

SELECT col_name1, col_name3, col_name2 FROM tbl_name;

возвратит столбцы в порядке col_name1, col_name3, col_name2.

В приложения

никогда


никогда

нельзя использовать SELECT * и извлекать столбцы, полагаясь на их позиции, поскольку порядок, в котором возвращаются столбцы,

не может быть гарантирован


не может быть гарантирован

. Простое изменение в базе данных может катастрофически сказаться на поведении приложения.

Если порядок столбцов все-таки требуется изменить, то сделать это можно следующим образом:

  1. Создайте новую таблицу со столбцами в правильном порядке.
  2. Выполните INSERT INTO new_table SELECT поля-в-желаемом-порядке FROM old_table.
  3. Удалите или переименуйте old_table.
  4. ALTER TABLE new_table RENAME old_table.