最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

node.js和mysql如果在数据库中有1,我怎么得到2?

IT培训 admin 7浏览 0评论

node.js和mysql如果在数据库中有1,我怎么得到2?

我想在数据库中添加+ 1,如果我在这个数据库中有1,我会在数据库中添加2,我尝试了但是得到了11,而不是2

if (result4.length) {
  var sql1 = `UPDATE level SET xp = '${result4[0].xp + 1}' WHERE xp = '${result4[0].xp}'`;

  connection.query(sql1, function(err, result) {
    if (err) throw err;
  });
}

以下是完整的来源,以防万一:

client.on("message", message => {
  if (message.author.bot) return;
  connection.query(`SELECT * FROM guildn WHERE id = '${message.guild.id}'`, function(err, result3) {
    if (err) {
      return console.log('Error1');
    }
    if (result3.length) {
      connection.query(`SELECT * FROM level WHERE id = '${message.author.id}'`, function(err, result4) {
        if (err) {
          return console.log('Error1');
        }
        if (!result4.length) {
          var sql = `INSERT INTO level (guild , id , nivel , xp) VALUES ('${message.guild.id}','${message.author.id}','0','1')`;
          connection.query(sql, function(err, result) {
            if (err) throw err;
            console.log("1 record inserted");
            return
          });
        }
        if (result4.length) {
          var sql1 = `UPDATE level SET xp = '${result4[0].xp + 1}' WHERE xp = '${result4[0].xp}'`;

          connection.query(sql1, function(err, result) {
            if (err) throw err;
          });
        }
      });
    }
  });
});

我使用谷歌翻译来发帖,所以如果我在翻译中有任何错误,我很抱歉

回答如下:

我怀疑数据库xp的结果是一个字符串。这似乎是合乎逻辑的,因为您在查询中将其设置为字符串。在这种情况下,你会这样做:

`UPDATE level SET xp = '${parseInt(result4[0].xp) + 1}' WHERE xp = '${result4[0].xp}'`;

这会将结果转换为数字,javascript将为其添加1,而不是将1连接到字符串。

node.js和mysql如果在数据库中有1,我怎么得到2?

我想在数据库中添加+ 1,如果我在这个数据库中有1,我会在数据库中添加2,我尝试了但是得到了11,而不是2

if (result4.length) {
  var sql1 = `UPDATE level SET xp = '${result4[0].xp + 1}' WHERE xp = '${result4[0].xp}'`;

  connection.query(sql1, function(err, result) {
    if (err) throw err;
  });
}

以下是完整的来源,以防万一:

client.on("message", message => {
  if (message.author.bot) return;
  connection.query(`SELECT * FROM guildn WHERE id = '${message.guild.id}'`, function(err, result3) {
    if (err) {
      return console.log('Error1');
    }
    if (result3.length) {
      connection.query(`SELECT * FROM level WHERE id = '${message.author.id}'`, function(err, result4) {
        if (err) {
          return console.log('Error1');
        }
        if (!result4.length) {
          var sql = `INSERT INTO level (guild , id , nivel , xp) VALUES ('${message.guild.id}','${message.author.id}','0','1')`;
          connection.query(sql, function(err, result) {
            if (err) throw err;
            console.log("1 record inserted");
            return
          });
        }
        if (result4.length) {
          var sql1 = `UPDATE level SET xp = '${result4[0].xp + 1}' WHERE xp = '${result4[0].xp}'`;

          connection.query(sql1, function(err, result) {
            if (err) throw err;
          });
        }
      });
    }
  });
});

我使用谷歌翻译来发帖,所以如果我在翻译中有任何错误,我很抱歉

回答如下:

我怀疑数据库xp的结果是一个字符串。这似乎是合乎逻辑的,因为您在查询中将其设置为字符串。在这种情况下,你会这样做:

`UPDATE level SET xp = '${parseInt(result4[0].xp) + 1}' WHERE xp = '${result4[0].xp}'`;

这会将结果转换为数字,javascript将为其添加1,而不是将1连接到字符串。

发布评论

评论列表 (0)

  1. 暂无评论