本文介绍了如何设置隔离级别的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想将隔离级别设置为可重复读取。如何使用gorm orm来实现postgres。

I want to set isolation level to repeatable read. How do I achieve this using gorm orm for postgres.

示例代码:

Example code:

func CreateAnimals(db *gorm.DB) err {
  tx := db.Begin()
  // Note the use of tx as the database handle once you are within a transaction

  if err := tx.Create(&Animal{Name: "Giraffe"}).Error; err != nil {
     tx.Rollback()
     return err
  }

  if err := tx.Create(&Animal{Name: "Lion"}).Error; err != nil {
     tx.Rollback()
     return err
  }

  tx.Commit()
  return nil
}


推荐答案

我有完全相同的问题:

func GetPageAfterUpdate(dp model.DbProvider, id int, update int, page *Page) (err error) {
  tx := dp.DB().Begin()

  err = tx.Exec(`set transaction isolation level repeatable read`).Error
  if err != nil {
    tx.Rollback()
    return
  }

与pg完全吻合

这篇关于如何设置隔离级别的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-18 23:36