Основная идея 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
.