2017-09-04 13 views
0

更新する必要がある動的に割り当てられた行数があります。私はそれらの値をすべて保持し、それらを1つのクエリで送信する配列の配列を作成しました。各配列には、更新する必要がある値と更新する必要がある行を認識するために必要なB、Cキーの3つの値Aが含まれています。ノードJs mySQLは配列の配列で複数の行を更新します

var arrData = []; 
arrData[0] = [43,54,67]; 
arrData[1] = [56,68,75]; 
arrData[2] = [43,67,75]; 
... 
var query = "UPDATE my_table SET A_row = ? WHERE B_row = ? AND C_row = ?"; 

connection.query(query,[arrData], function(err,response){ 

if(err) 
{ 
    console.log(err) 
}  
else{ ... }); 

しかし、私はこのエラーを取得する:

Error: ER_PARSE_ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '? AND C_row = ?' at line 1

は、私はここで間違って何をしますか?

答えて

0

それぞれ?実際の値に解決する必要があります。配列のインデックスを設定してクエリを呼び出すには、カウンタをループする必要があります。 ...

+0

ありがとうございました。しかし、どうすればいいですか?すべてのクエリが成功するときにのみコードを進める必要があるのですか?この場合、ユーザーに200応答コードを送信します。私は約束などを適用する必要がありますか? – Jacek717

+0

約束事のfor()ループ全体をラップする必要があります。エラー時にfor()ループを解除します。 –

関連する問題