2013-06-27 37 views
0

我已經建立了一個名爲order的列表。我確定它被設置爲INT。我似乎無法按順序列出結果。我目前在這些行中有5行數字爲1-5的隨機順序。但是,我無法讓這些行按順序排列。也許我完全錯了,因爲我是MySql的新手。這裏是我的查詢mysql不會按INT排序

SELECT * FROM faq ORDER BY 'order' 
+0

看到這個帖子就解釋了爲什麼http://stackoverflow.com/questions/2889871/how-do-i -escape-reserved-words-used-as-column-names-mysql-create-table – Bearcat9425

+1

首先,不要對保留字使用實體名稱。 –

回答

3

你應該用背蜱,而不是報價:

SELECT * FROM faq ORDER BY `order` 
+0

謝謝,這是做到了。 –

2

您需要:

SELECT * FROM faq ORDER BY `order` 

你在你的例子使用單引號。 MySQL使用反引號來封裝表名,字段名等。在這種情況下,您需要使用反引號,因爲order是MySQL中的保留字。

1

你引用'order'像一個字符串,所以排序將由值order本身(字符串)來完成,而不是通過該列。將它們改爲反引號。

+2

因爲'order'是一個保留字,所以在這裏完全刪除它們不是一個選項。 –

+0

非常好的一點:) – viraptor

3

你需要在mysql中使用反引號,而不是引號。

SELECT * FROM faq ORDER BY `order`