Node.js MySQL2 库支持使用事务来管理数据库操作。在事务中,多个数据库操作将作为一个单元执行,要么全部成功,要么全部失败。
这样可以保证数据的一致性和完整性。例如,如果你需要在数据库中插入多条数据,并且这些数据必须在数据库中同时存在,则可以使用事务来管理这些操作。
您可以使用以下代码段来启动事务:
const connection = require('mysql2').createConnection({
host: 'localhost',
user: 'user',
password: 'password',
database: 'database'
connection.beginTransaction(function(err) {
if (err) { throw err; }
connection.query('INSERT INTO table SET column = ?', [value], function(err, result) {
if (err) {
connection.rollback(function() {
throw err;
connection.commit(function(err) {
if (err) {
connection.rollback(function() {
throw err;
console.log('Transaction completed.');
在事务代码块中,您可以执行任意数量的数据库操作。如果任何一个操作失败,则可以使用 connection.rollback()
方法回滚事务,以便不影响数据库中原有的数据。如果所有操作都成功,则可以使用 connection.commit()
方法提交事务,以将数据写入数据库。