Webkit(至少在 iPhone 和 Safari 上)通过 SQLite 支持 HTML5 的数据库存储。
我正在尝试找出如何最好地为以下事务获取插入 ID(数据库中有一个自动增量字段“id”)。
db.transaction(function(tx) {
tx.executeSql("INSERT INTO teams (name) VALUES (?)", [$('#team_name').val()]);
});
最佳答案
下面的代码示例来自 Apple 的文档,我知道它适用于 iPhone 和 Safari,可能还有 WebKit。您可以使用 resultSet.insertId
从 resultSet 响应对象中获取插入 ID 此外,您还可以获取受影响的行数,例如通过使用 resultSet 对象的 rowsAffected 属性进行更新查询。
db.transaction(
function (transaction) {
transaction.executeSql('INSERT into tbl_a (name) VALUES ( ? );',
[ document.getElementById('nameElt').innerHTML ],
function (transaction, resultSet) {
if (!resultSet.rowsAffected) {
// Previous insert failed. Bail.
alert('No rows affected!');
return false;
}
alert('insert ID was '+resultSet.insertId);
transaction.executeSql('INSERT into tbl_b (name_id, color) VALUES (?, ?);',
[ resultSet.insertId,
document.getElementById('colorElt').innerHTML ],
nullDataHandler, errorHandler);
}, errorHandler);
}, transactionErrorCallback, proveIt);
关于sqlite - 从 Webkit 的 HTML5 数据库存储中获取插入 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/669892/