2011-10-10 67 views
2

是否有替代方案?Phonegap不支持sql Rand(),該怎麼辦?

這是我的代碼

function loadQ() { 
    db.transaction(function(t) { 
    t.executeSql('SELECT * FROM q ORDER BY RAND()', [], qDataHandler, errorHandler); 
    }); 
}; 

現在,這是行不通的。如果我刪除Rand()並將其替換爲LIMIT 1,它會起作用。但是我希望結果是隨機的。

我正在考慮對總行進行查詢,然後創建一個從0到總行數中選擇數字的函數,然後在我的loadQ中將結果用作ID。但我認爲這是一項乏味的工作。我想知道你是否有更好的想法?

非常感謝。

回答

2

如果您使用隨機值作爲PK,如果您的行中有空白,它將失敗。

這裏有一個更好的解決方案:

  1. 查詢的行數()。

  2. 生成0的隨機數的計數

  3. 使用結果LIMIT 1 OFFSET ?

+0

非常感謝... –