sqlite3 Вставить или обновить - PullRequest
       2

sqlite3 Вставить или обновить

0 голосов
/ 01 декабря 2018

Я хочу вставить / обновить один столбец за раз, используя sqlite3, оставляя другие столбцы без изменений.Мой текущий код просто создает новую строку вместо обновления существующей.

Редактировать: Важные столбцы Strength, Dexterity, Speed, Defense и определяются {data_type}.Любые другие столбцы могут быть перезаписаны.

async function csvToSql(data_path, data_type) {
    const date = moment().format("DD-MM-YYYY")
    let result = await csv().fromFile(data_path);

    db.serialize(function () {
        // Create table
        db.run(`CREATE TABLE IF NOT EXISTS daily(Date DATE, Name VARCHAR(255) UNIQUE, Profile TEXT, Strength Int, Speed Int, Dexterity Int, Defense Int)`, (err) => {
            if (err) {
                console.log(err);
            }
        });

        //Populate
        let query = db.prepare(`INSERT OR REPLACE INTO daily (Date, Name, Profile, ${data_type} ) VALUES (?, ?, ?, ?)`);
        if (statType.includes(data_type)) {
            for (let i = 0, j = result.length; i < j; i++) {
                query.run(date, result[i].Player, result[i]['Player Profile'], result[i].Contribution, (err) => {
                    if (err) {
                        console.log(err);

                    }
                })
            }

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