SQLite - обновить поле, если новое значение не пустое - PullRequest
0 голосов
/ 11 февраля 2019

Я делаю небольшой веб-интерфейс с nodejs, express и sqlite3.Есть таблица с фиксированным количеством строк и столбцов, которую можно обновить через форму.Пользователь не обязан заполнять все поля, поэтому в запросе на публикацию много пустых значений.Я только хочу записать заполненные поля в базу данных и игнорировать пустые.Я могу придумать несколько уродливых и утомительных способов добиться этого, но я уверен, что есть действительно простое решение, о котором я не знаю.

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) => {});

        }

});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...