mysql - 历史更新mysql node js

标签 mysql node.js promise

您好,我正在将 Node JS 与 MYSQL 一起使用,并试图查看历史更新如何与 Node mysql 一起使用。我遇到一个问题,当我尝试在表中更新带有 ID 的行时,我想获取该行,使用新的时间戳更新它,然后插入带有 ID 的新行2 但没有更新时间戳。

例子

ID | Owner | app | status | INSERT_DT           | UPDATE_DT 
 1     11     Ok     1       2015-15-20 13:00:21 NULL

现在当我通过更改状态更新上面的行时,它应该来了

ID | Owner | app | status | INSERT_DT           | UPDATE_DT 
 1     11     Ok     1       2015-15-20 13:00:21 20-15-20 12:00:12
 2     11     Ok     0       2015-15-20 12:00:12 | NULL

所以我得到这样的行..

getUserPath = (Owner) => new Promise((resolve, reject) => {
    db.query('SELECT * from path where Owner = ?', Owner, function (error, results, fields) {
        if (error) {
            reject('Could not get user path');
        }
        resolve(results[0]);
    });
});

下面的更新是我不确定如何更新整行的地方。 所以data包含了上面所有的信息

UpdateUserPath = (data) => new Promise((resolve,reject)=>{
data.INSERT_DT = '2015-15-20 12:00:12';
    db.query('UPDATE path set data', data , function(err,results,fields){
        if(err){
            reject('Could not update user path');
        }else{
            if(results.affectedRows > 0){
                //Making the new row
                data.ID = null;
                insertNewPath(data);
            }else{
                reject('Could not update user path');
            }
        }
    });
});

更新语句返回一个错误,我不确定如何让它工作。 我假设该集合需要我手动更新哪些字段,但我不想这样做,我希望它一次发生。

最佳答案

你的更新语句是错误的。如果您尝试更新上面的表格,它应该是:

db.query('UPDATE path set ID=?, Owner=?, app=?, status=?, INSERT_DT=?, UPDATE_DT=?',[data.ID,data.Owner,data.app,data.status,data.insert_dt,data.update_dt] , function(err,results,fields){ ...

关于mysql - 历史更新mysql node js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47358818/

相关文章:

php - 快速加入大数据表与键表

java - 如何在 JPARepository 中编写内连接查询

node.js - Dockerized React 应用程序无法绑定(bind)到 Heroku 上的 $PORT

javascript - 使用nodejs和jquery无法自动点击按钮

node.js - 如何将 'BatchGetItem' 用于 NodeJS AWS-SDK for DynamoDB

javascript - 我总是收到 JSON 循环结构错误和未处理的 promise 拒绝警告。我该如何摆脱它?

mysql - 提交时会发生死锁吗?

mysql - 如何操作 SQL 查询输出

javascript - Node.js - 如何在不超过速率限制的情况下在 for 循环中调用 Facebook API?

node.js - 如何在超时的异步内中断/取消 forEach 循环