node.js - sqlite last_insert_rowid 是原子的吗?

标签 node.js sqlite concurrency

我使用 node.js sqlite3 来操作数据。我使用这些代码将数据插入数据库并获取插入的 ID:

db.run("INSERT INTO myTable (name) VALUES ('test')");
db.get("SELECT last_insert_rowid() as id", function (err, row) {
     console.log('Last inserted id is: ' + row['id']);
});

我认为这不稳定。我的数据库连接始终打开。当我的服务器在来自客户端的多个同时连接上提供此代码时,SELECT last_insert_rowid() 是否正确获取 ID? sqlite last_insert_rowid 是原子的吗? 谢谢。

最佳答案

通过文档 sqlite3 Database#run(sql, [param, ...], [callback]) 您可以从回调中检索 lastID

关于node.js - sqlite last_insert_rowid 是原子的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29072109/

相关文章:

java - Java 并发中 Await 和 signal 的工作原理

c# - Monitor.Pulse 和 Monitor.Wait 有什么优势?

node.js - openshift node.js 项目的 npm 安装错误

node.js - Mongodb 搜索功能未执行

node.js - Keystone.js 自签名证书

iphone - iPhone 上 sqlite 和核心数据的速度问题

sqlite - 从具有特定列值的记录中选择SQLite中的随机记录

node.js - 如何使用 puppeteer 从打印预览下载 pdf

Android/Web 应用程序离线/在线数据库设置。在两个平台上创建项目

java - ReentrantReadWriteLock返回的锁是否等同于它的读写锁?