【问题标题】:How can I make a update prepared statement work in JavaScript in Node JS如何使更新准备好的语句在 Node JS 中的 JavaScript 中工作
【发布时间】:2022-01-14 11:41:23
【问题描述】:
.then(function (val) {
      var roleId = roleArr.indexOf(val.role) + 1;
      db.query(
        'UPDATE employee SET role_id = ? WHERE first_name = ? AND last_name = ?;',
        [roleId, val.firstname, val.lastName],
        function (err) {
          if (err) throw err;
          console.table(val);
          startPrompt();
        }
      );
    });

此代码来自询问者声明。 roleID、val.firstname 和 val.lastName 是很好的变量,因为它们在程序的其他地方进行了测试。虽然更新语句没有更新。我尝试在 where 语句变量周围加上双引号,但这不起作用。我究竟做错了什么?相同的语句在 mysql shell 中也有效。

【问题讨论】:

  • 错误信息?
  • 如何控制台记录查询结果?
  • 没有错误消息只是不运行查询。

标签: javascript mysql node.js inquirerjs


【解决方案1】:

我更改了代码以获取我想要更改的名称的 id,而不是匹配 first_name 和 last_name。

var nameArr = [];
function Name() {
  db.query(
    "SELECT * FROM employee",
    function (err, res) {
      if (err) throw err;
      for (var i = 0; i < res.length; i++) {
        nameArr.push(res[i].first_name + " " + res[i].last_name);
      }
    });
  return nameArr;
}

var nameId = nameArr.indexOf(val.name) + 1;

然后我使用 Name() 来获取询问者问题的选项。

【讨论】:

    猜你喜欢
    • 2010-09-08
    • 1970-01-01
    • 2022-01-11
    • 1970-01-01
    • 2016-03-08
    • 1970-01-01
    • 2011-08-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多