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 *
и извлекать столбцы,
полагаясь на их позиции, поскольку порядок, в котором возвращаются
столбцы, не может быть гарантирован. Простое
изменение в базе данных может катастрофически сказаться на поведении
приложения.
Если порядок столбцов все-таки требуется изменить, то сделать это можно
следующим образом:
-
Создайте новую таблицу со столбцами в правильном порядке.
-
Выполните
INSERT INTO new_table SELECT поля-в-желаемом-порядке FROM
old_table
.
-
Удалите или переименуйте
old_table
.
-
ALTER TABLE new_table RENAME old_table
.