【问题标题】:create table sql command node.js failing创建表 sql 命令 node.js 失败
【发布时间】:2023-03-24 00:49:02
【问题描述】:

我有这个创建表函数,它会在必要时创建一个表,但是表的实际创建失败了。仅当其中有特殊字符时才会失败,这很烦人!有没有解决的办法?这是我的查询:

 var createNewReportTableForChild = "create table " + tableName + " (report1 varchar(256), report2 varchar(256), report3 varchar(256), report4 varchar(256), report5 varchar(256), report6 varchar(256), report7 varchar(256), report8 varchar(256), report9 varchar(256), report10 varchar(256))"
ibmdb.open(ibmdbconnMaster, function(err, conn) {
    if (err) return console.log(err);
    conn.query(createNewReportTableForChild, function(err, rows) {
        if (err) {
            console.log(err);
        }

        // res.render("admin-dashboard", {
        //     page_title: "viewStudents",
        //     userName: req.session.username,
        //     FN: req.session.firstname,
        //     LN: req.session.lastname,
        // });
        res.redirect('/admin-dashboard')

        conn.close(function() {
            console.log("closed the function /createNewReportsTableForChild");
        });
    });
});

变量tableName 如下所示:info@inderatech.com。它始终是一个电子邮件地址。我应该让它成为一个唯一的数字字符串吗?

【问题讨论】:

    标签: javascript sql node.js db2


    【解决方案1】:

    在表名周围加上“引号”。现在查询的方式看起来像

    create table some name (report1...
    

    而不是

    create table "some name" (report1...
    

    试试

    var createNewReportTableForChild = "create table \"" + tableName + "\" (report1...
    # Or
    var createNewReportTableForChild = "create table '" + tableName + "' (report1...
    

    【讨论】:

      猜你喜欢
      • 2019-09-07
      • 2019-02-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-18
      • 2016-07-23
      • 2017-03-08
      • 1970-01-01
      相关资源
      最近更新 更多