我正在用sqlite 3数据库开发电子应用程序。我想在数据库中保存数据后获得最后插入的ID。
我已经运行了下面的查询,但调用结果总是显示未定义。有人能帮助我解决这个问题吗?
db.run(`INSERT INTO myTable (data1, data2) VALUES (aa, bb)`, (err) => {
console.log(this.lastID)
if (err) {
console.log(err)
} else {
console.log( this.lastID)
}
已成功插入数据库,但结果this.lastID结果未定义。
1条答案
按热度按时间gab6jxml1#
这是因为您使用了箭头语法。箭头语法将
this
上下文设置为父级。您应该执行以下操作:call、apply和bind方法不适合Arrow函数--因为它们被设计为允许方法在不同的作用域中执行--因为Arrow函数基于Arrow函数所定义的作用域来建立“this”。
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions