嗨,我正在将节点JS与MYSQL一起使用,并尝试查看历史更新如何与节点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){ ...
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句