NodeJS 为什么我的sqlite更新请求不起作用?

nue99wik  于 2022-12-03  发布在  Node.js
关注(0)|答案(1)|浏览(158)

我试图将数据库中所有带有“/”的条目拆分成2行或更多行,我设法将第2个和更多个单词插入到新行中,但我无法编辑原始行以删除这些单词,只保留第一个单词。

async function mutator(id, french, pierrick){
    return new Promise(async function (resolve, reject){
        const sql = "UPDATE dictionnaire SET francais = ?, pierrick = ? WHERE id = ?";
        db.run(sql, [french, pierrick, id], (err, row) => {
            if (err){ console.log(err); reject(err);}
            else resolve(row); 
        });
    });
}

                if (!(row.francais == null) && row.francais.search("/") != 0 ){
                    let synonyms = row.francais.split("/")
                    await mutator(row.id, synonyms[0], row.pierrick);
                    for (let i = 1; i < synonyms.length; i++){
                        await setter(row, synonyms[i], row.pierrick);
                    }
                }

我没有得到任何错误,我没有在数据库中进行任何修改。

px9o7tmv

px9o7tmv1#

我做了一点编辑

async function mutator(args, french, pierrick){
    return new Promise(async function (resolve, reject){
        const sql = "UPDATE dictionnaire SET francais = ?, pierrick = ? WHERE id = ?";
        db.run(sql, [french, pierrick, args.id], (err, row) => {
            if (err){ console.log(err); reject(err);}
            else resolve(row); 
        });
    });
}

                if (!(row.francais == null) && row.francais.search("/") != 0 ){
                    let synonyms = row.francais.split("/")
                    await mutator(row, synonyms[0], row.pierrick);
                    for (let i = 1; i < synonyms.length; i++){
                        await setter(row, synonyms[i], row.pierrick);
                    }
                }

它应该做完全相同的事情,但它的工作,我不明白为什么,但它做

相关问题