最近我正在学习使用node和node-sqlite3来操作sqlite3数据库,这里是一个示例。
var sqlite3 = require('sqlite3');
var db = new sqlite3.Database(':memory:');
db.serialize(function() {
db.run("CREATE TABLE test(info TEXT)");
db.run("INSERT INTO test (info) VALUES ('info1')");
})
db.close();
文档说明说db.serialized
用于确保SQL语句按顺序执行,但我感到困惑,如果没有db.serialize
,它们不会按顺序执行吗?毕竟它们将从事件队列中提取并按顺序执行。这里是如何工作的?
如果只有一个要执行的SQL语句,是否可以安全地在没有db.serialize
的情况下运行它,如下所示?
var sqlite3 = require('sqlite3');
var db = new sqlite3.Database(':memory:');
db.run("CREATE TABLE test(info TEXT)");
db.close();