2013-03-06 207 views
1

我已經更改了幾行的ID字段。現在「SELECT * FROM table」以原始順序將行返回給我。默認mysql選擇順序

例子:

ID NAME 
1 JOSJ 
12 Matt 
3 Tom 

如何讓他們在默認情況下,正確的順序顯示?我不是在談論一個簡單的「ORDER BY」,儘管它可能很簡單。該表需要重新安排?

回答

1

表中的默認順序就是默認順序。如果數據庫出現故障,您的數據庫不會感到困惑。你可以將它們插入到使用ORDER BY新表,但是這是一個大量的工作不僅僅是增加一個ORDER BY到您的查詢

SELECT * 
FROM table 
ORDER BY ID 

您可以使用下面的命令來更改排序,而是一個INSERTDELETE後訂單將被更改回它們插入的訂單

ALTER TABLE tablename ORDER BY columnname ASC; 
+0

我的問題清楚地表明,我不是在尋找那個。我需要知道如何使用它們,以便按默認順序顯示它們。 – Jerry 2013-03-06 21:59:54

+0

@Jerry這不是一個永久的選擇,除非你創建一個新表,即使這樣,這不是一個好的選擇。 – 2013-03-06 22:04:42

+0

文本遲了!然而,alter命令是我正在尋找的,謝謝。 – Jerry 2013-03-06 22:05:48

1

SQL不保證任何默認順序。例如,符合條件的SQL實現可以在返回它們之前對所有行進行隨機排序。

底線是,如果您想要某種順序 - 在查詢中指定它。這就是你可以要求的。

+0

..如果您經常使用該訂單,請添加索引。 – 2013-03-06 22:16:37