有替代方案吗?
这是我的代码
function loadQ() {
db.transaction(function(t) {
t.executeSql('SELECT * FROM q ORDER BY RAND()', [], qDataHandler, errorHandler);
});
};
现在,这不起作用。如果我删除Rand()并用LIMIT 1替换它,它可以工作。但我希望结果是随机的。
我正在考虑对总行运行查询,然后创建一个从0到总行中选择数字的函数,然后将我的loadQ中的结果用作ID。但我认为这是一项乏味的工作。我想知道你是否有更好的想法?
非常感谢。答案 0 :(得分:2)
如果您使用随机值作为PK,如果您的行中有间隙,则会失败。
这是一个更好的解决方案:
查询COUNT()行。
生成从0到计数的随机数
使用LIMIT 1 OFFSET ?