有效的SQL会在pg-promise中产生语法错误

问题描述

我在一个端点中有以下代码:

    let setText = ''
    for (const [ key,value ] of Object.entries(req.body.info)) {
        setText = setText.concat(`${key} = ${value},`)
    }
    // Last character always an extra comma and whitespace
    setText = setText.substring(0,setText.length - 2)

    db.one('UPDATE students SET ${setText} WHERE id = ${id} RETURNING *',{ setText,id: req.body.id })
        .then(data => {
            res.json({ data })
        })
        .catch(err => {
            res.status(400).json({'error': err.message})
        })

应该从请求主体动态生成SQL。当我记录创建的SQL时,它会正确生成。当我直接查询数据库时,它甚至可以工作。但是,每当运行端点时,无论setText是什么,都会出现语法错误。我试过使用slice而不是子字符串,没有任何改变。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)