在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
答案 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");
});