Gorm Raw 查询报错 unsupported destination 如何解决?
gorm raw 原生查询报错 unsupported destination 解决方法
使用 gorm 执行原生查询时,遇到 unsupported destination, should be slice or struct 的错误,表明无法将查询结果扫描到指定的变量中。
错误的根源在于,gorm 的 raw 方法专为以表结构为目标的查询而设计,要求 destination 必须是一个切片或结构体,以映射查询结果和表结构。然而,select database() 查询不涉及表结构,因此与 gorm 的映射机制不兼容。
要解决此问题,可以使用原生 go sql 方法 queryrow,它可以直接从底层数据库连接查询单个行。为此,需要使用 *gorm.db 结构体的 db() 方法获取原生 *sql.db 连接:
func showCurrentDb() { var database string persistence.GetDB().DB().QueryRow("select database()").Scan(&database) fmt.Println("database ", database) }
以上就是Gorm Raw 查询报错 unsupported destination 如何解决?的详细内容,更多请关注其它相关文章!