如何使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。所以很明显我...
回答如下:好吧,这花费了很多时间。解决方案是使用递归函数:
最新文章
- SFuzz: Slice
- cocos Creator打包
- 大型高并发高负载网站的系统架构[转载]
- 服务器iis短文件名漏洞,IIS短文件名漏洞分析及一个实例
- [转]MinGW与MSYS
- Android出现没有资源包问题,Android打包出现的小问题汇总
- shiro:principal为空问题
- 夜听崔健
- anchors.fill和anchors.centerIn区别
- 如何从ext3升级到ext4?
- winform窗体控件
- 1024专场回顾
- CLion 入门
- check(check out)
- 基于React、Typescript和Solidity的NFT完整教程
- Linux直接在通过终端打开图片文件
- idea各种中文乱码问题