我已經建立了一個名爲order的列表。我確定它被設置爲INT。我似乎無法按順序列出結果。我目前在這些行中有5行數字爲1-5的隨機順序。但是,我無法讓這些行按順序排列。也許我完全錯了,因爲我是MySql的新手。這裏是我的查詢mysql不會按INT排序
SELECT * FROM faq ORDER BY 'order'
我已經建立了一個名爲order的列表。我確定它被設置爲INT。我似乎無法按順序列出結果。我目前在這些行中有5行數字爲1-5的隨機順序。但是,我無法讓這些行按順序排列。也許我完全錯了,因爲我是MySql的新手。這裏是我的查詢mysql不會按INT排序
SELECT * FROM faq ORDER BY 'order'
你應該用背蜱,而不是報價:
SELECT * FROM faq ORDER BY `order`
謝謝,這是做到了。 –
您需要:
SELECT * FROM faq ORDER BY `order`
你在你的例子使用單引號。 MySQL使用反引號來封裝表名,字段名等。在這種情況下,您需要使用反引號,因爲order
是MySQL中的保留字。
你引用'order'
像一個字符串,所以排序將由值order
本身(字符串)來完成,而不是通過該列。將它們改爲反引號。
因爲'order'是一個保留字,所以在這裏完全刪除它們不是一個選項。 –
非常好的一點:) – viraptor
你需要在mysql中使用反引號,而不是引號。
SELECT * FROM faq ORDER BY `order`
您應該使用backtik不報價:
SELECT * FROM faq ORDER BY `order`;
看到這個帖子就解釋了爲什麼http://stackoverflow.com/questions/2889871/how-do-i -escape-reserved-words-used-as-column-names-mysql-create-table – Bearcat9425
首先,不要對保留字使用實體名稱。 –