【问题标题】:How to write long MySQL queries in node JS如何在节点 JS 中编写长 MySQL 查询
【发布时间】:2018-07-26 04:49:26
【问题描述】:

如何在多行而不是很长的一行上编写长 MySQL 查询,以便于阅读和修改。 我只知道这样写:

app.get('/example', function(req, res){
  x = 'SELECT doctors_schedule.*, employees.employee_name, doctors.degree FROM doctors_schedule JOIN employees ON employees.employee_id = doctors_schedule.doctor_id JOIN doctors ON doctors.doctor_id = employees.employee_id ORDER BY employees.employee_id';
  connection.query(x, function(error, rows, fields){
    if(error){console.log(error);}
    res.json(rows);
  });
});

【问题讨论】:

    标签: mysql node.js express


    【解决方案1】:

    使用template literals(模板字符串):

    app.get('/example', function(req, res){
      const x = `SELECT doctors_schedule.*, employees.employee_name, doctors.degree 
        FROM doctors_schedule
        JOIN employees ON employees.employee_id = doctors_schedule.doctor_id
        JOIN doctors ON doctors.doctor_id = employees.employee_id
        ORDER BY employees.employee_id`;
    
      connection.query(x, function(error, rows, fields){
        if(error){
          console.log(error);
        }
        res.json(rows);
      });
    });
    

    此功能自 Node.js v.4.0.0 起可用。

    【讨论】:

    • 非常感谢,没想到这么简单
    【解决方案2】:

    es6 为我们带来了模板文字。您可以使用反引号,并轻松跨越多行。阅读更多关于这个here

    app.get('/example', function(req, res){
      x = `
         SELECT doctors_schedule.*, employees.employee_name, doctors.degree
         FROM doctors_schedule
         JOIN employees ON employees.employee_id = doctors_schedule.doctor_id
         JOIN doctors ON doctors.doctor_id = employees.employee_id
         ORDER BY employees.employee_id
      `;
      connection.query(x, function(error, rows, fields){
        if(error){console.log(error);}
        res.json(rows);
      });
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-03
      • 1970-01-01
      • 2019-07-30
      相关资源
      最近更新 更多