2016-11-28 46 views
0

是否可以更改表以便任何通用查詢將返回未索引列或主鍵排序的數據?我想按列自動排序(非主鍵)

SELECT * from <table> 

有相同的順序

SELECT * from <table> ORDER BY <misc_col> 

,而不損害表或任何當前鍵的完整性。要做到這一點

+2

SQL表和結果集表示*無序*集。如果你想以正確的順序得到結果,可以添加一個'ORDER BY'。這是做到這一點的唯一安全方法。 –

+0

感謝您對基礎的重視。我認爲這個問題只能通過重新定義我的表格結構來解決(或者創建一個視圖) – Anna

回答

0

一種方法是使用一個view

create view v_table as 
    select t.* 
    from t 
    order by col; 

許多數據庫要麼忽略這樣的order by或不允許的語法。但是,MySQL允許從視圖中選擇語法並按照所需的順序返回結果。

注意:t(col)上的索引應提高性能。

+1

應該注意的是,任何對視圖施加強制自己的命令的調用都會覆蓋視圖的順序。 – xQbert