Hier ist mein Code:wo schließe ich die Verbindung in node-mysql?
var set = {
FIRST_NAME: professor.value_20,
SURNAME: professor.value_21
}
//logs
//console.log(set);
//executes query
connection.query({
sql: 'SELECT TEACHERID FROM TEACHER WHERE FIRST_NAME = ? AND SURNAME = ?',
//'INSERT INTO TEACHER set ? ON DUPLICATE KEY UPDATE FIRST_NAME = ?, SURNAME = ?',
values: [set.FIRST_NAME,set.SURNAME]
}, (err, results, fields) => {
if (err) throw err;
if(results.length < 0) {
connection.query({
sql: 'INSERT INTO TEACHER set ?',
values: [set]
}, (err, results, fields) => {
if (err) throw err;
});
}
else {
connection.query({
sql: 'UPDATE TEACHER (FIRST_NAME, SURNAME) VALUES(?,?)',
values: [set.FIRST_NAME, set.SURNAME]
}, (err, results, fields) => {
if (err) throw err;
connection.end();
});
}
});
Wenn ich diesen Code ausführen ich die folgende Fehlermeldung erhalten:
Error: Cannot enqueue Query after invoking quit.
Das Problem auf der Ebene der dritten Abfrage vorzukommen scheint, obwohl ich nicht in der Nähe tat die Verbindung früher. Wie behebe ich das?
Eine andere Frage: ist es in diesem Fall besser, einen Pool anstelle einer direkten Verbindung zu verwenden?
Vielen Dank!