将变量名指定为表名时出错

时间:2019-01-29 07:45:31

标签: mysql node.js

在MySQL和nodejs中,将变量名作为表名给出是错误的。 给出这样的错误错误:

  

ER_PARSE_ERROR:您的SQL语法有错误;查看手册   对应于您的MariaDB服务器版本,以便在“ THETABLE” function(func result_variable) set(${result_variable} "result" PARENT_SCOPE) endfunction() func(ret) message(${ret})

附近使用正确的语法
(id INT(100) NOT NULL AUTO_INCREMENT, name TINYTEXT, PRIMARY
  KEY(id))' at line 1

1 个答案:

答案 0 :(得分:0)

您不能为表名使用准备好的语句,而应该使用字符串concat进行操作:

var tableName = 'THETABLE';

var tableDef = "CREATE TABLE ";
tableDef=tableDef.concat(tableName," (id INT(100) NOT NULL AUTO_INCREMENT, name TINYTEXT, PRIMARY KEY(id))");

db.query(tableDef, function (err, result) {
if (err) throw err;
   console.log("Table created");
});