当我尝试运行查询时,出现500内部错误。我想将query2
结果作为数据插入query
。
查询:
exports.create = async (req, res) => {
try {
const connection = await mysql.createConnection(config.mysql.credentials);
var query2='select MAX(orders) from pdb_product';
const query = `insert into pdb_product (product_code, description, active, third_party,
orders) values ("${req.body.product_code}", "${req.body.description}", ${(req.body.active == 'on' ? 1 : 0)}, ${(req.body.third_party == 'on' ? 1 : 0)}, ${query2});`;
await connection.query(query);
res.redirect('/products');
} catch (e) {
utils.error500(req, res, e.message);
}
};
我得到的错误:
您的SQL语法有误;请查看与您的MySQL服务器版本相对应的手册以获取正确的语法,以在第1行“从pdb_product选择MAX(订单)”附近使用
我该如何解决?
答案 0 :(得分:0)
在query2参数之前,您缺少'('括号:
const query = `insert into pdb_product (product_code, description, active, third_party,
orders)
values ("${req.body.product_code}",
"${req.body.description}",
${(req.body.active == 'on' ? 1 : 0)},
${(req.body.third_party == 'on' ? 1 : 0)},
(${query2}));`;