Javascript 创建表sql命令node.js失败

Javascript 创建表sql命令node.js失败,javascript,sql,node.js,db2,Javascript,Sql,Node.js,Db2,我有一个CREATETABLE函数,它在必要时创建一个表,但是实际创建表失败了。只有当里面有一个特别的角色时,它才会失败,这很烦人!有办法解决这个问题吗?这是我的疑问: var createNewReportTableForChild = "create table " + tableName + " (report1 varchar(256), report2 varchar(256), report3 varchar(256), report4 varchar

我有一个CREATETABLE函数,它在必要时创建一个表,但是实际创建表失败了。只有当里面有一个特别的角色时,它才会失败,这很烦人!有办法解决这个问题吗?这是我的疑问:

 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
。它将始终是一个电子邮件地址。我是否应该让它成为一个唯一的数字字符串?

在表名周围加上“引号”。现在的查询方式是这样的

create table some name (report1...
而不是

create table "some name" (report1...
试一试

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