2017-04-06 21 views
0

私は配列([ARR1])と私のDBを照会し、それにデータを挿入するノード-MySQLを使用して、それを入れて、APIからデータを取得しています。Node.jsのMySQLの更新レコード

これは新しいレコードを押すと下記のとおり、細かい作業です:私は、変更されたレコードを更新するために、2番目のクエリを追加しようとしています

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を2番目の '?'に置き換えます。

+0

[arg1]はカンマで区切られています。上記の変数として定義されています。 –

関連する問題