node.js一次执行多条mysql语句
使用多条查询语句的功能,需要在创建数据库连接的时候打开这一功能:
var connection = mysql.createConnection( { multipleStatements: true } );
可合并为
var connection = mysql.createConnection({
host: 'localhost',
user: 'root',
password: '5f615ahef51103c2',
database: 'piyanuo_cn',
multipleStatements: true
});
然后将多条sql合并,使用;分割
var addSql = 'SELECT ID FROM jiaofei WHERE xiaoqu = ?;SELECT ID,jiaofei_time,jiaofei_student_a_id,jiaofei_student_name,jiaofei_record,jiaofei_classname,jiaofei_class_pinci,jiaofei_class_shuliang,jiaofei_class_timelong,jiaofei_class_danjia,jiaofei_class_zongjia,zhidao_teacher FROM jiaofei WHERE xiaoqu = ? ORDER BY jiaofei_time DESC limit ?,?;';
占位符合并
var addSqlParams = [response.xiaoqu,response.xiaoqu,limitbegin,limitend];
最后执行sql,
结果result[0],result[1]
connection.query(addSql, addSqlParams, function (err, result) {
if (err) {
console.log('[INSERT ERROR]-', err.message);
res.end('执行sql出错!');
return;
}
if (result) {
//console.log('---------------result----------------');
//console.log(result);
var data = {
"code": "0",
"msg": "success",
"count":result[0].length,
"data": result[1]
}
console.log('---------------data----------------');
console.log(data);
res.end(JSON.stringify(data));
}
});
connection.end();
next();