【问题标题】:Get list of tables from SQLite in Node.js从 Node.js 中的 SQLite 获取表列表
【发布时间】:2016-04-01 13:04:51
【问题描述】:

下面的代码只返回第一个表的名称,如何获取现有sqlite中所有可用表名的列表?

const sqlite3 = require('sqlite3').verbose();
const db = new sqlite3.Database('path/to/mydb.sqlite');
db.serialize(function () {
    db.get("select name from sqlite_master where type='table'", function (err, table) {
        console.log(table);
    });
});

输出

{name: "meta"}

在 sqlite3 命令行中打开时

sqlite> .tables
downloads             meta                  urls
downloads_url_chains  segment_usage         visit_source
keyword_search_terms  segments              visits

【问题讨论】:

    标签: node.js sqlite


    【解决方案1】:

    来自get()'s doc

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

    你必须使用db.all():

    db.serialize(function () {
        db.all("select name from sqlite_master where type='table'", function (err, tables) {
            console.log(tables);
        });
    });
    

    或者db.each(),如果你想为每一行调用回调:

    db.serialize(function () {
        db.each("select name from sqlite_master where type='table'", function (err, table) {
            console.log(table);
        });
    });
    

    【讨论】:

      猜你喜欢
      • 2020-11-30
      • 1970-01-01
      • 2019-04-09
      • 2010-10-10
      • 2020-12-04
      • 1970-01-01
      • 2020-12-02
      • 2012-04-21
      • 2020-11-02
      相关资源
      最近更新 更多