在mariadb中没有使用nodejs调用嵌套查询

tcomlyy6  于 2021-06-17  发布在  Mysql
关注(0)|答案(1)|浏览(237)

这是我第一个使用mysql和nodejs的项目,我已经习惯了mongo,所以我可能会在这里做一些愚蠢的事情。在本地一切正常(使用mysql),但当我将以下代码部署到宿主(使用mariadb)时,只有父查询插入表(leads)。另一张table空着。另一个问题是,部署nodejs时,我无法访问它的日志,但据我所知,嵌套查询永远不会被调用。

var mysql     = require('mysql');

global.db     = mysql.createPool({
  host      : 'localhost',
  user      : 'client',
  password   : '******',
  database   : 'db'
});

router.post('/', function(req, res){
    const d     = req.body
    let subscribe = (d.subscribe ? 1 : 0)

    global.db.getConnection((err, conn) => {
        if (err) {
            res.end(JSON.stringify(err));
        } else {

                let lead    = [null, d.voornaam, d.achternaam, d.email, d.postcode, d.opmerkingen, d.soort, subscribe]
                let sql     = 'INSERT INTO leads VALUES ?';
            conn.query(sql, [[lead]], (err, results) => {
                if (err) {
                    res.end(JSON.stringify(err));
                    conn.release();
                } else {
                    const lead_id = results.insertId
                    d.types.forEach(w => {
                        let wens = [null, lead_id, w.woningType, w.slaapkamers, w.prijs, w.oplevering]
                        let sql     = 'INSERT INTO wensen VALUES ?';
                        conn.query(sql, [[wens]], (err, results) => {
                            if(err) {
                                res.end(JSON.stringify(err));
                                conn.release();
                            }
                        })
                    })

                    res.end('True');
                    conn.release();
                }
            })
        }
    })
});
r6vfmomb

r6vfmomb1#

检查语法。注意事项:

'INSERT INTO leads VALUES (?)'

这件事没告诉你吗?

if (err) { res.end(JSON.stringify(err)); ... }

相关问题