如何 SELECT / 使用 node-sqlite3 获取所有行?
How to SELECT / get all rows with node-sqlite3?
我正在尝试从我之前输入的 sqlite3 数据库中获取所有/超过一行数据,并确保它(数据)存在。使用 db
作为数据库对象,我的尝试如下所示:
db.get
(
'SELECT * FROM my_table',
(err, rows) =>
{
if(rows && err === null)
{
console.log(rows);
}
else
{
console.log('Error', err);
}
}
)
上面总是 returns 一个包含 1 行数据的对象。
这里的问题是 db.get()
只会 return 结果集中的第一行。来自 documentation:
Runs the SQL query with the specified parameters and calls the callback with the first result row afterwards.
如果要 return 整个结果集,请改用 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
});
我正在尝试从我之前输入的 sqlite3 数据库中获取所有/超过一行数据,并确保它(数据)存在。使用 db
作为数据库对象,我的尝试如下所示:
db.get
(
'SELECT * FROM my_table',
(err, rows) =>
{
if(rows && err === null)
{
console.log(rows);
}
else
{
console.log('Error', err);
}
}
)
上面总是 returns 一个包含 1 行数据的对象。
这里的问题是 db.get()
只会 return 结果集中的第一行。来自 documentation:
Runs the SQL query with the specified parameters and calls the callback with the first result row afterwards.
如果要 return 整个结果集,请改用 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
});