mysql - 如何使用nodejs和mysql插入多个对象?

标签 mysql node.js express

如何使用nodejs和mysql插入多个对象?

我有这样的数据 json:

[
   {
      "id":"317",
      "stock":"200",
      "status":"y"
   },
   {
      "id":"1224",
      "stock":"400",
      "status":"y"
   }
]

这是我的代码:

function create(req, res) {
  pool.getConnection((err, connection) => {
    if (err) return res.send(err)
    let { id, stock, status } = req.body
    let values = [{
      id: id,
      stock: stock,
      status: status
    }]
    let sql = 'INSERT INTO tbl_stock SET ?'
    connection.query(sql, values, (err, results) => {
      if (err) {
        return res.send(err)
      } else {
        connection.release()
        return res.status(HttpStatus.OK).json({ message: 'ok', status: HttpStatus.OK })
      }
    })
  })
}

如果 data json 有一个对象,则此代码有效,但我想插入多个具有 json 格式的对象,如上面的 data json,该怎么做?

最佳答案

您可以使用数组数组批量插入多行,因此应如下所示,

let values = [[317, 200, 'y'], [1224, 400, 'y']];

查询看起来像这样,

let sql = 'INSERT INTO tbl_stock(id, stock, status) VALUES ?';

然后使用连接运行查询,

connection.query(sql, values, (err, results) => {
      if (err) {
        return res.send(err)
      } else {
        connection.release()
        return res.status(HttpStatus.OK).json({ message: 'ok', status: HttpStatus.OK })
      }
    })

关于mysql - 如何使用nodejs和mysql插入多个对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50691096/

相关文章:

node.js - 迭代 Mongoose 结果来更新值

node.js - 允许任何人运行 Meteor 应用程序

node.js - 在 Heroku 的 Express Node 中存储 api key 的位置

javascript - 对象数组的 Mongoose 模式以及更新对象时应添加

javascript - Mongoose 查找并创建多维数组

node.js - 在 mongoose 结果上使用 lodash cloneDeep() - 无法更新生成的 JSON

php - 嵌套选择查询问题

mysql - 基于条件的不同sql 超过两列

mysql 逗号分隔表列 in concat() 或类似方法

python - 需要指导将 python 脚本中的数据插入 MySQL 数据库