Таблица перестановки SQLite? - PullRequest
2 голосов
/ 11 мая 2011

Можете ли вы изменить порядок столбцов таблицы SQLite с помощью запроса?

Я бы предпочел метод запроса, но если это невозможно, есть ли другой способ?

1 Ответ

2 голосов
/ 11 мая 2011

Да, вы управляете порядком столбцов по порядку, указанному в запросе. Оба этих запроса возвращают одинаковые строки, но столбцы расположены в другом порядке.

select first_column_name, second_column_name
from mytable;

select second_column_name,  first_column_name
from mytable;

Если вы хотите, чтобы столбцы в базовой таблице были постоянно изменены, вы можете использовать представление.

create view mytable_reordered
select second_column_name,  first_column_name
from mytable;

Если вы хотите сделать это изменение прозрачным для прикладных программ, сначала переименуйте таблицу, а затем создайте представление, присвоив ему старое имя таблицы. Наконец, вы бы перепрыгнули через все обручи, которые требуются вашим dbms, чтобы сделать это представление обновляемым. Я думаю, что в SQLite это означает написание кода для реализации некоторых INSTEAD OF триггеров .

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