使用Node.js在MySQL中创build表
我想从Node.jsdynamic地在MySQL中创build一个表
con.query('CREATE TABLE ?', req.params.username + '(id INT(100) NOT NULL AUTO_INCREMENT, name TINYTEXT, PRIMARY KEY(id))', function (err, result) { if (err) console.log(err); else console.log('Table created ' + result); });
当查询是硬编码的,
con.query('CREATE TABLE Sample (id INT(100) NOT NULL AUTO_INCREMENT, name TINYTEXT, PRIMARY KEY(id))', function (err, result) { if (err) console.log(err); else console.log('Table created ' + result); });
有用。
所以,我的问题是如何dynamic创build一个表?
您正尝试使用参数化查询replace表名称。 你不能做那个。 你也不能用列名来做。
你需要用你的数据定义语言编写包含文本string的代码?
参数,然后运行它。 JS中的string处理很容易。
var tableDef = 'CREATE TABLE '+ req.params.username + ' (id INT(100) NOT NULL AUTO_INCREMENT, name TINYTEXT, PRIMARY KEY(id))'; con.query(tableDef, ...etc )