获取GORM执行时的sql字符串

示例:

go 复制代码
import "log"
func GetDetail(tx *gorm.DB,id int)(data any,err error){
	var query = tx.Session(&gorm.Session{DryRun: true})
	err = query.Where("id = ?", id).First(&res).Error
	if err!=nil{
		zap.L().Error("get detail error",zap.Error(err),zap.String("sql",query.Statement.SQL.String()))
	}
}

注意事项:

  1. 执行前需要事先声明Session,将DryRun设置为true
  2. 执行完First、Find、Delete 等方法后才能拿到SQL
相关推荐
漫漫求3 小时前
Go的panic、defer、recover的关系
开发语言·后端·golang
Tony Bai3 小时前
2025 Go 官方调查解读:91% 满意度背后的隐忧与 AI 时代的“双刃剑”
开发语言·后端·golang
老蒋每日coding3 小时前
基于FISCO BCOS 部署 Solidity投票智能合约 并基于GO SDK进行合约调用指南
golang·区块链·智能合约
翔云1234563 小时前
golang中使用 sort.Interface 实现复杂多级排序
开发语言·后端·golang
ん贤3 小时前
自go-zero走进微服务
开发语言·后端·golang
源代码•宸18 小时前
Leetcode—404. 左叶子之和【简单】
经验分享·后端·算法·leetcode·职场和发展·golang·dfs
Grassto21 小时前
10 Go 是如何下载第三方包的?GOPROXY 与源码解析
后端·golang·go·go module
源代码•宸1 天前
Leetcode—513. 找树左下角的值【中等】
经验分享·算法·leetcode·面试·职场和发展·golang·dfs
bing.shao1 天前
文心大模型 5.0 正式版上线:用 Golang 解锁全模态 AI 工业化落地新路径
人工智能·golang·dubbo
lanbing1 天前
在Mac OS系统中安装Go语言环境教程
开发语言·后端·golang