2017-11-17 2 views
2

Hallo Ich benutze Knoten JS mit MySQL und versuchen zu sehen, wie historische Updates mit Knoten-Mysql arbeiten. Ich stehe vor einem Problem, in dem ich, wenn ich versuche, eine Zeile mit ID in meiner Tabelle zu aktualisieren, möchte ich diese Zeile erhalten, aktualisieren Sie sie mit einem neuen Zeitstempel und fügen Sie dann eine neue Zeile mit ID 2, aber keine Aktualisierung Zeitstempel.Historische Updates mysql Knoten js

Beispiel

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

Nun, wenn ich durch eine Änderung des Status der obigen Zeile aktualisieren, sollte es ich die Zeile wie dieses ..

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]); 
    }); 
}); 
erhalten Also kommen

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 

werden

Das Update unten ist, wo ich nicht sicher bin, wie man die ganze Reihe aktualisiert. So die data enthält alle Informationen über

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'); 
      } 
     } 
    }); 
}); 

Die Update Anweisung gibt mir einen Fehler, und ich bin nicht sicher, wie es zum Laufen zu bringen. Ich gehe davon aus, dass das Set mich braucht, um manuell zu lassen, welche Felder zu aktualisieren, aber ich möchte das nicht tun, ich will es auf einmal geschehen.

Antwort

1

Sie Update-Anweisung ist falsch. Wenn Sie versuchen, Tabelle oben zu aktualisieren, sollte es sein:

+0

Aber es gibt nichts als Daten während der Einstellung aufgerufen, ich glaube nicht, dass mysql versteht, was ich versuche zu setzen. – FaF

+0

Ich kenne die obige Aussage eigentlich, ich dachte nur, wenn es einen einfacheren Weg gäbe. – FaF