我正在尝试将数据从一个文件推送到另一个文件以构建MySQL查询。下面的代码是我所在的位置。我有点失落,对MySQL很陌生,所以任何帮助都会很棒。总体思路是将两个记录同时插入表中。
提前感谢您的帮助。
INSERT INTO heroes (plantTypes, asset, cost, energy, isSunProducer, isShooter, isExploding,
sunFrequency, shootingFrequency, damage, userId)
VALUES (?,?,?,?,?,?,?,?,?,?,?), (?,?,?,?,
?,?,?,?,?,?,?)
INSERT INTO enemies (zombieTypes, asset, damage, vx, energy, userId)
VALUES (?,?,?,?,?,?)
C:\ Users \用户杰森\桌面\ RCB_Classwork \ projectX创建\ AyCarambaZombiesRising \ node_modules \ MySQL的\ lib中 \协议\ Parser.js:78 扔错了; //重新抛出非MySQL错误
错误:ER_PARSE_ERROR:您的SQL语法中有错误;查看与MySQL服务器版本对应的手册,以便在'?,?,?,?,?,?,?,?,?,?,?)附近使用正确的语法 在第1行
projectX.createNewUserHeroes(['plantTypes', 'asset', 'cost', 'energy', 'isSunProducer', 'isShooter', 'isExploding', 'sunFrequency', 'shootingFrequency', 'damage', 'userId'], ['shooterOne', 'test', 100, 100, 0, 1, 0, 0, 2, 100, req.session.user_id], ['shooterTwo', 'test', 100, 100, 0, 1, 0, 0, 2, 100, req.session.user_id], function(data){
console.log("This is the right heroes data: " + data)
});
createNewUserHeroes: function(table, cols, vals, cb) {
var queryString = 'INSERT INTO ' + table;
queryString += ' (plantTypes, asset, cost, energy, isSunProducer, isShooter, isExploding, sunFrequency, shootingFrequency, damage, userId) ';
queryString += 'VALUES';
queryString += ' (';
queryString = queryString + printQuestionMarks(vals.length);
queryString += ')';
queryString += ', ';
queryString += '(';
queryString = queryString + printQuestionMarks(vals.length);
queryString += ') ';
console.log(queryString)
connection.query(queryString, vals, function(err, result) {
if (err) throw err;
cb(result);
});
},
答案 0 :(得分:0)
由于您在准备好的查询中加倍了问号的数量,因此您还需要将值数组加倍。您可以通过将vals
连接到自身来执行此操作:
connection.query(queryString, vals.concat(vals), function(err, result) {
...
});