sqlite - 在“SET”附近:语法错误,尝试设置隔离级别时

标签 sqlite go go-gorm transaction-isolation

我想在go中创建一个事务,同时这样做会出现错误:near "SET": syntax error。代码:

db.Exec("SET TRANSACTION ISOLATION LEVEL REPEATABLE READ;")
if err := db.Exec("SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED").Error; err != nil {
    return err
}

tx:=db.Begin()

即使省略“;”我犯了同样的错误。我正在使用sqlite3数据库和gorm ORM。

最佳答案

要在SQLite中实现此目的,您必须使用pragmas

这样行吗?

if err := db.Exec("PRAGMA read_uncommitted = true").Error; err != nil {
    return err
}

tx:=db.Begin()

关于sqlite - 在“SET”附近:语法错误,尝试设置隔离级别时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60449794/

相关文章:

sqlite - SQLite更新ONE记录非常(相对)缓慢

c++ - 我有 sqlite3 的问题

go - go 中的函数数组语法是什么意思?

go - 使用 Go 驱动程序在 RethinkDB 中按嵌套对象排序

postgresql - 我如何在 gorm 1.20.0 中关闭数据库实例

sqlite - 将格式错误的CSV导入SQLite

go - Go 中的静态全局变量

go - 是否可以使 GORM 中的 db.Preload() 成为自动预加载?

go - 使用 GORM 选择相关字段

c# - SQLite CodeFirst 示例