Mysql 如何将一个查询结果作为输入插入另一个查询
当我尝试运行一个查询时,我得到500个内部错误。我想将Mysql 如何将一个查询结果作为输入插入另一个查询,mysql,node.js,Mysql,Node.js,当我尝试运行一个查询时,我得到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 = `ins
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_产品中选择最大订单”附近使用的正确语法
如何解决此问题?在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}));`;
当我运行您的查询时,
您的SQL语法有错误;请检查与您的MySQL服务器版本相对应的手册,以了解在第1行的“”附近使用的正确语法。
error抱歉,我添加了换行符以使答案中的SQL更具可读性-您应该删除它们。我添加了它们,但没有换行符。但是您的查询不正确。如果我们把这样的(
放在查询2
之前,如何(
在值括号关闭之后?我的错误,我错过了结束括号。${query2}
需要被包围(
和)
我也用过。但它不是工作伙伴(.您不能在FROM子句中指定要更新的目标表“pdb_product”
这是否回答了您的问题?