如何使用node-sqlite3选择/获取所有行?



我正在尝试从我之前输入的sqlite3数据库中获取所有/多行数据,并确保它(数据(存在。使用db作为数据库对象,我的尝试如下所示:

db.get
(
'SELECT * FROM my_table',
(err, rows) =>
{
if(rows && err === null)
{
console.log(rows);
}
else
{
console.log('Error', err);
}
}
)

上面总是返回一个包含 1 行数据的单个对象。

这里的问题是db.get()只会返回结果集中的第一行。 从文档中:

使用指定的参数运行 SQL 查询,并在之后使用第一个结果行调用回调。

如果要返回整个结果集,请改用db.all()

db.all("SELECT * FROM my_table", function(err, rows) {  
rows.forEach(function (row) {  
console.log(row.col1, row.col2);    // and other columns, if desired
})  
});

您也可以在此处使用db.each()

db.each("SELECT * FROM my_table", function(err, row) {
console.log(row.col1, row.col2);    // and other columns, if desired
});

最新更新