如何将一个查询结果插入到另一查询作为输入

时间:2020-02-20 14:47:45

标签: 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 = `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(订单)”附近使用

我该如何解决?

1 个答案:

答案 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}));`;
相关问题