我想使用 JavaScript 运行一系列 SQLite 查询。这些查询获取几个表的最新更新时间戳。例如:
SELECT last_updated FROM students ORDER BY last_updated DESC LIMIT 1;
SELECT last_updated FROM docs ORDER BY last_updated DESC LIMIT 1;
SELECT last_updated FROM logs ORDER BY last_updated DESC LIMIT 1;
SELECT last_updated FROM requests ORDER BY last_updated DESC LIMIT 1;
然后我会将这些 last_updated 时间戳发送到服务器。当我想到如何做到这一点时,我会使用这样的东西:
var message = {};
sql('QUERY 1',[],function(row){
message.q1 = row.shift().shift(); // first row, first item
sql('QUERY 2',[],function(row){
message.q2 = row.shift().shift();
sql('QUERY 3',[],function(row){
message.q3 = row.shift().shift();
sql('QUERY 4',[],function(row){
message.q4 = row.shift().shift();
$.ajax('submit.php',{ // tell the server these things.
data: message,
type: 'POST',
success: function(response) {
console.log('Server replied: '+response+'\n');
},
error: function() {
console.log('HUHU.\n');
}
}
});
});
});
});
这会起作用,但由于嵌套的 SQL 调用,我发现这非常低效。在某些情况下,我需要来自 10 个不同表的数据。
有没有更有效的方法来做到这一点?