Guten Tag alle! Ich habe mich gefragt, ob nodejs mysql beginTransaction mehrere Verbindungen (wenn ich mehrere Abfragen in meiner Transaktion habe) in meinem Pool oder nutzt es nur eine einzige Verbindung, bis es commited ist?node.js mysql pool beginTransaction & Verbindung
0
A
Antwort
1
Eine Transaktion kann nicht von mehreren Datenbankverbindungen gemeinsam genutzt werden und ist immer auf eine einzige Verbindung beschränkt. Der beste Ansatz wäre, eine Verbindung aus dem Pool zu erhalten, bevor Sie die Transaktion starten und nach einem Rollback oder einem Commit freigeben.
pool.getConnection(function(err, connection) {
connection.beginTransaction(function(err) {
if (err) { //Transaction Error (Rollback and release connection)
connection.rollback(function() {
connection.release();
//Failure
});
} else {
connection.query('INSERT INTO X SET ?', [X], (err, results) {
if (err) { //Query Error (Rollback and release connection)
connection.rollback(function() {
connection.release();
//Failure
});
} else {
connection.commit(function(err) {
if (err) {
connection.rollback(function() {
connection.release();
//Failure
});
} else {
connection.release();
//Success
}
});
}
});
}
});
});
Verwandte Themen
- 1. Die Verbindung ist nicht offen: MySql BeginTransaction
- 2. ServiceStack OrmLite: MySQL-Verbindung Pool
- 3. MySQL DB Pool mit Node.js und Restify
- 4. Node.js MySQL-Verbindung nicht richtig freigegeben
- 5. Knoten express-myconnection mysql Pool: Verbindung geschlossen durch Server
- 6. Node.js MySQL benötigt persistente Verbindung
- 7. Node.js MySQL-Verbindung und Transaktionen
- 8. MySql Verbindung über Verbindung Pool kann nicht wiederhergestellt werden
- 9. asyncpg - Verbindung vs Verbindung Pool
- 10. Wie node.js MySQL-Verbindung verfügbar Pooling beim Start
- 11. Verbindung Pool wird erschöpft
- 12. node.js: Ausgabe mysql (npm) Pool zu html oder jade
- 13. TransactionScope und BeginTransaction
- 14. Node.js mySQL kann keine Verbindung herstellen
- 15. Node.js doesnot Verbindung mit MySQL, phpMyAdmin
- 16. node.js + mysql connection pooling
- 17. ForEach Funktion mit Mysql Verbindung Pool in Async Wasserfall
- 18. node-mysql - Wann die Verbindung zurück in den Pool freigeben
- 19. shared c3p0 Verbindung Pool mit Ruhezustand und Mysql on Tomcat
- 20. Spring Boot erstellt keine Verbindung Pool auf MySQL
- 21. Muss ich Pool-Verbindung für jede API in Nodejs + Mysql
- 22. Tomcat JDBC Verbindung Pool (Freigabe Verbindung)
- 23. Verbindung in c3p0 Verbindung Pool freigeben
- 24. Tomcat Jdbc Connection Pool aktive Verbindung
- 25. Beginnt beginTransaction in Hibernate eine neue DB-Verbindung?
- 26. SQLAlchemy/Flask/PostgreSQL Pool Verbindung
- 27. JOOQ Verbindung Pool mit Gradle
- 28. Grails. Keine Verbindung, Pool erschöpft
- 29. Knexjs Versprechen Freigabe Pool Verbindung
- 30. Verbindung Pool für Schienen 5
also, wenn mehrere Abfragen innerhalb einer Transaktion haben, muss ich es erst nach dem Festschreiben oder in einem Rollback freigeben? Ich muss es nicht jeden Erfolg der Abfrage freigeben? Korrigieren Sie mich, wenn ich falsch liege, vielen Dank –
Ja, Sie müssen es nur nach einem Commit oder einem Rollback freigeben, da dies die einzigen Fälle sind, in denen Sie die Transaktion beenden. –
vielen dank –