2013-03-06 3 views
1

Я изменил поле ID из нескольких строк. Теперь «SELECT * FROM table» возвращает мне строки в исходном порядке.default mysql select order

Пример:

ID NAME 
1 JOSJ 
12 Matt 
3 Tom 

Как я могу получить их для отображения в правильном порядке по умолчанию? Я не говорю о простом «ORDER BY», хотя это, вероятно, так же просто. Стол нужно как-то перестроить?

ответ

1

По умолчанию в таблице указан порядок по умолчанию. Ваша база данных не запутается, если они не работают. Вы можете вставить их в новую таблицу, используя ORDER BY, но это намного больше работы, чем просто добавление ORDER BY к вашему запросу

SELECT * 
FROM table 
ORDER BY ID 

Вы можете использовать команду ниже, чтобы изменить порядок, но после INSERT или DELETE заказы будут возвращены к заказу, в который они были вставлены.

ALTER TABLE tablename ORDER BY columnname ASC; 
+0

В моем вопросе четко указано, что я не искал этого. Мне нужно знать, как их применять, чтобы они отображались в правильном порядке ПО УМОЛЧАНИЮ. – Jerry

+0

@Jerry Это не постоянный вариант, если вы не создадите новую таблицу, и даже тогда это не очень хороший вариант. –

+0

Текст придет позже! Однако команда alter - это то, что я искал, спасибо. – Jerry

1

SQL не гарантирует заказ по умолчанию. Соответствующая реализация SQL может случайным образом сортировать все строки перед их возвратом, например.

Итог линии, Если вам нужен определенный заказ - укажите его в запросе. Это все, что вы можете попросить.

+0

.. И добавьте индекс, если вы часто используете этот заказ. –