【node】nodejs promise-mysql 处理事务

项目用到了node来做后台服务端,自然避免不了要用redis、sql等等。在mysql中挑了promise-mysql来做,其中的pool连接池用着挺方便的。

但最近的业务需要用上事务,官方文档貌似没有特别的说明。

源码的pool有个getConnection的方法,同时return new PoolConnection

再看看这个PoolConnection,调用了Connection.call(this, null, _connection),说明具有connection的所有功能

便可追进Connection里面看,有beginTransaction,query,commit,rollback,足够我们使用,另外PoolConnection里面还有release方法,保证了pool连接池的不用destroy掉这个connection。

不说废话,直接贴码

  let conn = await pool.getConnection()
  await conn.beginTransaction()
  try {
      await conn.query('sql语句')
      await conn.query('sql语句')
      await conn.query('sql语句')
      await conn.commit()
  } catch (err) {
      await conn.rollback()
  } finally {
      conn.release()
   }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容