我需要獲取與其基表關聯的所有備份表。例如,table_name
產生table_name_backup1, table_name_backup2
..等等。這樣做的原因是因爲我不想手動獲取備份表名稱,可能有幾十個,它們是根據遊戲周和日期命名的,因此無法預測它們的名稱。從數據庫排序獲取的表名。 Mysql PHP
結果在執行該語句,如果$ TBL = '' 的排名例如後我得到:
...
function getTables($tbl){
$query = "SHOW TABLES LIKE '" . $tbl . "_gw%' ORDER BY ";
結果
[0] => ranking_gw0_231012
[1] => ranking_gw10_231012
[2] => ranking_gw11_231012
[3] => ranking_gw1_231012
[4] => ranking_gw2_231012
[5] => ranking_gw3_231012
[6] => ranking_gw4_231012
[7] => ranking_gw5_231012
[8] => ranking_gw6_231012
[9] => ranking_gw7_231012
[10] => ranking_gw8_231012
[11] => ranking_gw9_231012
[12] => ranking // I insert this manually before return statement.
一切都只是確定由於表gw10出現在索引1中,因此,當我分支時顯示錯誤的數據順序明白他們的價值。
我一直在想做一個函數,它會提取gwx中的數字並重新排序整個事情,但我認爲必須有一個更簡單的方法。
那麼,我怎麼能以正確的順序顯示這些表?
BTW,當我在MYSQLYOG查看我的數據庫,它們出現在完全相同的順序,而在我的phpmyadmin他們以正確的順序顯示,gw11顯示最後一個。 還有就是具有相同GWX值,例如ranking_gw0_080812和ranking_gw0_101012
你的意思是這樣寫: 選擇 table_name的 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = '' 的排名和 表名LIKE '%ranking_gw' ORDER BY CREATE_TIME; – MJoraid
@MohammedJoraid是的,因爲你需要根據它們的創建方式對它們進行排序。 – dan
哈哈我犯了一個錯誤,我把表名稱,而不是dbName,難怪我得到一個空的結果。 現在它作爲魅力。非常感謝。 +1根據我的問題來定製查詢。 – MJoraid