2017-04-06 90 views
0

我從API獲取數據,將它放在一個陣列([ARR1])和使用節點的MySQL查詢我的數據庫和數據插入到它。Node.js的MySQL的更新記錄

這是工作正常當推新的記錄,按下面的:

var arr1 = response.data.map(function(item) { 
    return [item.employeeDetails.id, item.employeeDetails.personalDetails.firstName, item.employeeDetails.personalDetails.lastName, item.employeeDetails.personalDetails.emailAddress]; 
}); 

var query = connection.query('INSERT IGNORE INTO employees(pk_userId, firstName, lastName, emailAddress) VALUES ?', [arr1], 
    function(error, results, fields) { 
     if (error) console.log(error); 
     else { 
      console.log("Imported="); 
     } 
    }); 

我想添加第二個查詢,更新更改的記錄。我一直在閱讀教程和文檔,但是我仍然遇到問題。下面就是我在網上下的指令後想:

var query2 = connection.query('UPDATE employees SET ? WHERE ?', [arr1], 
    function(err, rows) { 
     if (err) 
      console.log("Error Updating ", err); 
    }); 

所以,我現在用的是相同的[ARR1]陣列,我從API了,但是我如何告訴MySQL有點失落查找要更新的記錄。

任何建議或方向將不勝感激。

回答

0

您應該設置佔位符'?'用逗號分隔語法。

var query2 = connection.query('UPDATE employees SET ? WHERE ?', [var1, var2], 
    function(err, rows) { 
     if (err) 
      console.log("Error Updating ", err); 
    }); 

這會將var1放入第一個'?'和var2變成第二個'?'。

+0

[arg1]已被逗號隔開。它被定義爲一個變量。 –