mysql - 使用mysql和nodeJs更新多条记录

标签 mysql node.js sequelize.js

我正在尝试使用 NodeJS 和 Sequelize 更新满足特定条件的多条记录。例如,如果student_id为1且advisor_id为1,则将分数设置为90,如果student_id为1且advisor_id为2,则将分数设置为80,依此类推......每个学生由3位顾问评估。在我的分数表中,我有id、student_id、advisor_id、score

<小时/>

下面是用户传递的 JSON 数据示例。

 {
      "students": [
          {
            "student_id": 1,
            "committee": [
                { "advisor_id": 1, "score": 90 },
                { "advisor_id": 2, "score": 80 },
                { "advisor_id": 3, "score": 90 },
              ]
          },
          {
            "student_id": 2,
            "committee": [
                { "advisor_id": 1, "score": 70 },
                { "advisor_id": 2, "score": 70 },
                { "advisor_id": 3, "score": 80 },
              ]
          },
          {
            "student_id": 3,
            "committee": [
                { "advisor_id": 1, "score": 90 },
                { "advisor_id": 2, "score": 70 },
                { "advisor_id": 3, "score": 70 },
              ]
          },
          {
            "student_id": 4,
            "committee": [
                { "advisor_id": 1, "score": 80 },
                { "advisor_id": 2, "score": 90 },
                { "advisor_id": 3, "score": 80 },
              ]
          },

        ]  
    }

最佳答案

你可以这样做:

var queries = '';

  values.forEach(function (item) {
    queries += mysql.format("UPDATE tabletest SET score = 90 WHERE 
  student_id = 1 AND advisor_id = 1;");
    queries += mysql.format("UPDATE tabletest SET score = 80 WHERE 
  student_id = 1 AND advisor_id = 2;");
  });

  connection.query(queries, defered.makeNodeResolver());

要使用多语句功能,您必须为您的连接启用它:

var connection = mysql.createConnection({
  ...
  multipleStatements: true,
});

关于mysql - 使用mysql和nodeJs更新多条记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49169910/

相关文章:

php - 我需要在系列结束时显示零价格的产品

javascript - NodeJS + AngularJS - 一段时间后,我得到 net::ERR_CONNECTION_RESET

mysql - 在 sequelize 中插入百万记录的最佳方法是什么

mysql - 从平面数据集中的父子表检索数据

通过userdata在aws ec2实例上安装Mysql

mysql - 正确建立我的数据库表

javascript - 使用 sequelize ORM 连接到 node.js 上的 Amazon RDS Postgres 数据库时出现问题

javascript - 猴子补丁 Promise 构造函数

node.js - 如何使用 Node JS 在 Google 分析中添加交易(电子商务)?

sequelize.js - 在 sequelize 上执行 sql 查询