Database WebSQL,插入到两个或多个表中
我正在使用webSql,我几乎解决了所有问题,除了这个小问题:假设我们有两个表(A和B),首先,我想插入表A并获取最新的ID,我将把它作为第二个键插入表B。在这两种情况下,表都具有自动增量ID 当我从下面的示例中选择“alert(TableAId)”时,我得到了正确的值。然而,当我把它插入表B时,它是空的。我认为问题可能在于函数(tx,results)是异步的,因此我在实际获取TableAId之前插入TableB 这里的适当解决方案是什么Database WebSQL,插入到两个或多个表中,database,html,web-sql,Database,Html,Web Sql,我正在使用webSql,我几乎解决了所有问题,除了这个小问题:假设我们有两个表(A和B),首先,我想插入表A并获取最新的ID,我将把它作为第二个键插入表B。在这两种情况下,表都具有自动增量ID 当我从下面的示例中选择“alert(TableAId)”时,我得到了正确的值。然而,当我把它插入表B时,它是空的。我认为问题可能在于函数(tx,results)是异步的,因此我在实际获取TableAId之前插入TableB 这里的适当解决方案是什么 var TableAId = ""; tx.execut
var TableAId = "";
tx.executeSql('INSERT INTO TableA (value) VALUES (?)', [myValue],
function(tx, results) {
TableAId = results.insertId;
}, errorCB);
tx.executeSql('INSERT INTO TableB (key_from_TableA) VALUES (?)', [TableAId],
function(tx, results) {
TableBId = results.insertId;
}, errorCB);
因为它是异步的,所以在调用第二个操作之前,您必须等待第一个操作完成
tx.executeSql('INSERT INTO TableA (value) VALUES (?)', [myValue],
function(tx, results) {
var TableAId = results.insertId;
tx.executeSql('INSERT INTO TableB (key_from_TableA) VALUES (?)', [TableAId],
function(tx, results) {
TableBId = results.insertId;
}, errorCB);
}, errorCB);
WebSQL不是被禁止的吗?它在PrimeGAP()中仍然非常活跃,但是谢谢你的回复。我不知道PrimeGAP是如何在封面下实现它的,但是规范很清楚,也许你应该考虑索引数据库。