2017-09-25 7 views
0

mysqlデータベースに製品を追加した後、すべての製品を最新の製品にダンプします。この製品はデータベースにアルゴリズムが追加されており、すぐにすべての製品をリストしたいと考えています。テーブル空である--WhenすでにNode.js、リストクエリに表示されていない

「非同期」、「約束」などを試してみました - 第2挿入リストクエリ

connection.query("INSERT INTO `products` (id, name, price)", function (error, results, fields) {}); //inserted one row 

connection.query("SELECT * FROM `products`", function (error, results, fields) {}); // show only [] 

最初の行だけが、2番目ないを示しました。主な問題はこれで、テーブルには2つの行があります。

ありがとうございます。

+1

どのようにデータをクエリに渡していますか、つまり、挿入する内容をどのように指定していますか?また、あなたのテーブルの名前の周りに 'マークが必要ではないことを確かめてください。しかしそれは単なるヒントです。 –

答えて

0

クエリデータの挿入が行われます。

connection.query("INSERT INTO `products` (id, name, price)", 
    function (error, results, fields) { 
     connection.query("SELECT * FROM `products`", function (error2, results2, fields2){}); 
}); 
+0

ありがとうございます。はい、私はすでにこれを試して、変数result2に渡すことはできません。結果2を変数にどのように扱うことができますか? – jakari

+0

@ jakari 'results2' _is_ a変数です。 – Evert

0
connection.query("INSERT INTO products(id, name, price)", 
    function (error, results, fields) { 
    if(error) return .... 
    else{ 
     connection.query("SELECT * FROM products", function 
     (error,results,fields2){ 
       var returned_data = results; 
       console.log(results); 
       //res.send(results); 
      }) 
    }}); 

が移動するための方法、ことができますが、あなたの避難所以来、すべてのでデータ正しい方法を挿入しているかどうかをチェックしますあなたがそれを行う方法を提供していない、私は非同期メソッドがあなた自身に失敗することはないとは思わない。リクエストに応じて

EDIT:あなたは、変数に結果を渡すことができますが、あなたは、(なぜならその範囲の)すなわちres.sendかres.endをしない場合にのみ、その関数内でそれを使用することができますそれはあなたが推測している要求の中でこれを使用している場合、またはconsole.logそれをファイルに書き込むだけです。

+0

ありがとうございます。「2番目のクエリ結果」を変数に渡す方法はありますか? – jakari

+0

私は上記の例を編集しました。 –

関連する問題