最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

如何使mysql在(nodejs)的循环中工作?

网站源码admin33浏览0评论

如何使mysql在(nodejs)的循环中工作?

如何使mysql在(nodejs)的循环中工作?

我目前正在编码一个不和谐的机器人,我需要做一个将每个id添加到mysql数据库(ids数组)的系统。 roleids是一个数组,其中包含具有特定角色的成员的id。所以很明显,我做了一个“ for”循环,检查每个id是否在数据库中,如果不是,它将ID添加到数据库中。

for(i in ids){
            let curLvlRoles;
            let guildId;
            let curID;
            if(roleids.indexOf(ids[i]) >= 0) curLvlRoles = 1;
                else curLvlRoles = 0;
            guildId = message.guild.id;
            curID = ids[i];
            con.query(`select * from xp where guildId = '${message.guild.id}' and id = '${ids[i]}'`, (err, rows) => {
                if(rows.length < 1){
                    con.query(`insert into xp (guildId, id, xp, lvl, lvlRoles, absXp) values ('${message.guild.id}', '${ids[i]}', 0, 1, ${curLvlRoles}, 0)`);
                } else {
                    con.query(`update xp set lvlRoles = ${curLvlRoles} where guildId = '${message.guild.id}' and id = '${ids[i]}'`);
                }
            });
        }

但是由于某些原因,它用相同的ID填充数据库但是香港专业教育学院尝试了另一个数据库,虽然我看不到任何差异]

for(i in ids){
        let curID = ids[i] + message.guild.id;
        let curLvlRoles;
        if(roleids.indexOf(ids[i]) >= 0) curLvlRoles = 1;
            else curLvlRoles = 0;
        con.query(`select * from xp where id = '${curID}'`, (err, rows) => {
            if(rows.length < 1){
                con.query(`insert into xp (id, xp, lvl, lvlRoles, absXp) values ('${curID}', 0, 1, ${curLvlRoles}, 0)`);
            } else {
                let lvl = rows[0].lvl;
                con.query(`update xp set lvlRoles = ${curLvlRoles} where id = '${curID}'`);
            }
        });
    }

我很感谢第一个代码的建议,因为我真的是Node js和javascript的新手。

我目前正在编码一个不和谐的机器人,我需要做一个将每个id添加到mysql数据库(ids数组)的系统。 roleids是一个数组,其中包含具有特定角色的成员的id。所以很明显我...

回答如下:

好吧,这花费了很多时间。解决方案是使用递归函数:

发布评论

评论列表(0)

  1. 暂无评论