外键的HTML5 Web SQL值
HTML5 Web SQL value for foreign key
我正在使用HTML5 Web SQL和Javascript来设置我的表。我有两张桌子:游戏&框架。我需要从游戏表中提取最后一个记录(最近的)id,并将其用作帧表中的外键。
function createGame (tx) {
tx.executeSql('CREATE TABLE IF NOT EXISTS games(id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, created unique, alley, date DATETIME, weight)');
tx.executeSql('INSERT INTO games(created, alley, date, weight) VALUES(?, ?, ?, ?)', [created, alley, date, weight]);
}
我的created、alley、date和weight值是在上面的函数之外定义的。
function createFrame (tx) {
tx.executeSql("PRAGMA foreign_keys = ON;");
tx.executeSql('CREATE TABLE IF NOT EXISTS frames(id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, frame, pins, comments, FOREIGN KEY (gameID) REFERENCES games(id))');
tx.executeSql("INSERT INTO frames(frame, pins, comments, gameID) VALUES(?, ?, ?, ?)", [frame, pins, comments, gameID]);
}
我的问题是,我不知道如何获得游戏表中最后一个(最近的)记录id的值,并将其用于帧表中的外键。
将其定义为如下变量并没有给我带来好运:
db.transaction(function(tx) {
tx.executeSql('SELECT LAST(id) FROM games', [], function(transaction,output) {
var gameID = output.id;
console.log(output);
});
});
有人能告诉我获得游戏表中最后一个id值的最佳方法吗?将其用作帧表的外键?
提前谢谢。
要获得最大值,请使用max:
SELECT MAX(id) FROM games
要获得属于该游戏的帧,请搜索该查询返回的值,或者直接使用子查询计算:
SELECT * FROM frames WHERE gameID = (SELECT MAX(id) FROM games)
如果你要玩最后一场游戏,请先。。。不要试图查询最后一场比赛的每帧
SELECT id FROM games ORDER BY ID DESC LIMIT 1;
这将返回上一个游戏的id。
然后将results.row.id保存在localstorage中,这样您就可以轻松地访问它,而不必继续执行多个表查询(手机内存有限)。并将其用作帧的变量。
或者如果您更喜欢将其作为子查询进行
SELECT * FROM frames WHERE gameID = (SELECT id FROM games ORDER BY ID DESC LIMIT 1)
相关文章:
- 从 Web SQL 数据库检索音频并使用 Web 音频 API 播放
- 外键的HTML5 Web SQL值
- 具有Web SQL数据库的客户端存储
- 如何使用函数从Web SQL数据库中检索值
- Web SQL事务在javascript函数中未正确执行
- SQL语句是通过PhoneGap'按顺序执行的吗;的Web SQL数据库
- 如何在Web SQL数据库中逐行插入文本文件
- 如何在 Web sql 中显示事务成功警报
- Web SQL 将数据插入到多行中
- 无法在 Web SQL 数据库中创建新表
- Web sql 仅适用于调试
- Android 4.0.3 Web 浏览器是否支持 Web SQL 数据库?
- Web SQL 数据库 - 执行 asyc 调用并继续
- Web SQL Grow Database for iOS
- Web Sql 选择语句无法提取第三列
- JQuery Mobile:如何在查询 Web SQL 时显示消息
- 在HTML 5 / Javascript中批量插入到客户端数据库(WEB SQL)
- 如何在node-webkit应用程序中连接Web sql
- JavaScript Web SQL回调插入(如果不存在)
- 构建连接到SQL server的web应用程序的步骤