SQLite-如果新值不为空,则更新字段

时间:2019-02-11 16:23:33

标签: node.js sqlite express

我正在使用nodejs,express和sqlite3创建一个小的Web界面。有一个具有固定行数和列数的表,可以通过表单对其进行更新。不需要用户填写所有字段,因此发布请求中有很多空值。我只想将填充的字段写回数据库,而忽略空的字段。我可以想到许多丑陋而乏味的方法来实现这一目标,但是我敢肯定有一些我不知道的非常简单的解决方案。

app.post('/updatevals', (req, res) => {

        for (const m in req.body) {

            const val = req.body[m]; // val = ['value1', '', '', 5]
                                     // user left index 1 + 2 empty
                                     // last value is primary key

            // Overwrites val2 + val3 with empty strings...
            const sql = "UPDATE mytable SET val1=?, val2=?, val3=? WHERE id=?"; 

            db.run(sql, val, (err) => {});

        }

});

0 个答案:

没有答案