dove chiudere la connessione mysql?Nodo Mysql Impossibile accodare una query dopo aver chiamato quit
Ho bisogno di eseguire query in sequenza. Sto scrivendo il codice che assomiglia a questo al momento:.
var sqlFindMobile = "select * from user_mobiles where mobile=?";
var sqlNewUser = "insert into users (password) values (?)";
//var sqlUserId = "select last_insert_id() as user_id";
var sqlNewMobile = "insert into user_mobiles (user_id, mobile) values (?,?)";
connection.connect(function(err){});
var query = connection.query(sqlFindMobile, [req.body.mobile], function(err, results) {
if(err) throw err;
console.log("mobile query");
if(results.length==0) {
var query = connection.query(sqlNewUser, [req.body.password], function(err, results) {
if(err) throw err;
console.log("added user");
var user_id = results.insertId;
var query = connection.query(sqlNewMobile, [user_id, req.body.mobile], function(err, results) {
if(err) throw err;
console.log("added mobile");
//connection.end();
});
});
}
});
//connection.end();
(io sono un principiante con il nodo, NPM-express e NPM-mysql ho provato a cercare SO per "esprimere mysql non può accodare" per trovare le questioni relative e non li hanno trovati.)
Sto chiamando connection.end() quello che è commentato dopo il log "aggiunto mobile". il problema che sto rilevando è che se il flusso esce, cioè in uno qualsiasi dei punti di lancio (err), la connessione non verrà chiusa. Sono dolorosamente consapevole del fatto che le connessioni rimangono un errore da principiante e il suo effetto sulla scalabilità. Non voglio farlo a questo punto della mia vita. quindi se hai uno schema che potrebbe essere seguito per questo, sarebbe fantastico. async sembra essere una buona chiamata. Prenderò un giorno per controllarlo e rispondere ad esso. Grazie. –
parlato a breve, async non funzionerebbe per me perché queste query sono nidificate, e non qualcosa che deve essere eseguito in serie. mantenere gli stati e controllare le precondizioni è troppo oneroso per questo. –
È possibile utilizzare la funzione cascata per eseguire le query. Ho scritto la struttura di base qui: http://pastebin.com/RDaiqZsp – matthewtole