私はnode.jsをいじり回しており、Faker、アンダースコア、mysql、およびrandyライブラリを使用して、いくつかのテストデータをWebアプリに追加しています。
これまでのところ良好ですが、私のループの1つでは、mysql呼び出しは毎回失敗しますが、エラーの生成にも失敗します。私は少し困惑しています:
var sql = 'SELECT id FROM mytable WHERE 1';
client.query(sql, function(err, rows, fields){
// loop through results
_.each(rows, function (v, i){
// get the insert id
var id = v.id;
console.log (id); // prints valid ID
// generate other data
var stuff_count = randy.randInt(0,12);
_(stuff_count).times(function(n){
var sql = 'INSERT INTO other_table (linked_id, item_id) VALUES ('+id+','+randy.randInt(1,50)+')';
console.log(sql); // prints sql
client.query(sql, function(err, rows, fields) {
console.log(sql); // prints nothing
if (err){
console.log(sql); // prints nothing
throw err; // prints nothing
}
});
});
});
ループロジックは正常に機能しており、SQLが-INSERT
に対して実行する必要がある場所までother_table
到達しますが、mysqlログをテーリングすると、DBにヒットするものは何も表示されず、client.query
ブロック内のデバッグステートメントはいずれも成功時に何も出力しません。失敗。