历史更新mysql节点js

时间:2017-11-17 20:31:51

标签: mysql node.js promise

您好我正在使用带有MYSQL的节点JS并尝试查看历史更新如何与node-mysql一起使用。我遇到一个问题,当我尝试在我的表中使用ID | Owner | app | status | INSERT_DT | UPDATE_DT 1 11 Ok 1 2015-15-20 13:00:21 NULL 更新行时,我想获取该行,使用新的时间戳更新它,然后插入ID为2的新行但不是更新时间戳。

示例

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'); } } }); }); 包含上述所有信息

gridExtra::grid.arrange(g1,g2, ncol=2)

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

1 个答案:

答案 0 :(得分:1)

你更新声明是错误的。如果你试图更新上面的表应该是:

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){ ...