【问题标题】:NodeJS - Update MySQL Field after fetching new created idNodeJS - 获取新创建的 ID 后更新 MySQL 字段
【发布时间】:2021-05-10 15:01:37
【问题描述】:

我正在使用 NodeJS 在 MySQL 中插入一行,其中包含“title”、“userid”和“opid”字段;

插入后,我想使用新创建的 id 和用户 ID 创建一个名为“audioname”的新字符串。

然后我想用这个新的“audioname”字符串更新一个名为“audioname”的字段

这是我用来创建音频名称的代码;

const audiopost = new Audiopost({
    title: req.body.title,
    userid: req.body.userid,
    opid: req.body.opid 
  });

   Audiopost.create(audiopost, (err, data) => {   
    if (err)
      res.status(500).send({
        message:
          err.message || "Some error occurred while creating the Audiopost."
      });
    else 
      var newaudioid = data.id.toString();
      var newuserid = data.userid.toString();
      var hyphen = "-";
      var m4a = ".m4a"
      var newaudioname = newuserid + hyphen + newaudioid + m4a;
        res.send(newaudioname);
  });
};

这是模型;

const Audiopost = function(audiopost) {
   this.userid = audiopost.userid;
  this.title = audiopost.title;
  this.opid = audiopost.opid;  
};

Audiopost.create = (newAudiopost, result) => {
  sql.query("INSERT INTO audioposts SET ?", newAudiopost, (err, res) => {
    if (err) {
      console.log("error: ", err);
      result(err, null);
      return;
    }

    console.log("created audiopost: ", { id: res.insertId, ...newAudiopost });
    result(null, { id: res.insertId, ...newAudiopost });
  });
};

【问题讨论】:

    标签: mysql node.js


    【解决方案1】:

    我相信这会对你有所帮助,

    sql.query("INSERT INTO audioposts SET ?", newAudiopost, (err, res) => {
      if (err) {
        console.log("error: ", err);
        result(err, null);
        return;
      }
      const insertId = res.insertId;
      const userId = newAudiopost.userid;
      const m4a = ".m4a";
      const audioname = ${insertId}-${userId}${m4a}; //You can change this string in any format
      sql.query("UPDATE audioposts SET audioname = ? WHERE id = ?", [audioname, insertId], (err, res, fields) => {
        if (err) {
          console.log("error: ", err);
          result(err, null);
          return;
        }
      })
    });
    

    【讨论】:

    • 成功了!您可以编辑这些微小的更改,以便我可以选择您的答案吗?常量 insertId = res.insertId;常量 userId = newAudiopost.userid;常量 m4a = ".m4a"; const audioname = ${insertId}-${userId}${m4a};
    • 很高兴听到这个消息!当然,我编辑了我的答案
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-22
    • 2010-11-26
    • 2023-04-04
    • 2016-01-13
    • 1970-01-01
    相关资源
    最近更新 更多