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 如何解决?的详细内容,更多请关注抖狐科技其它相关文章!
-
PHP 函数的单元测试流程
在 php 中进行函数单元测试的步骤:安装 php 单元测试框架,如 phpunit。创建一个测试文件,并编写测试用例,包括实际输出、预期输出和比较方法。运行测试命令,如 phpunit,以执行测试。...
-
没有系统盘怎么装win7系统
是的,可以使用多种方法在没有系统盘的情况下安装 windows 7 系统。方法包括:使用 u 盘安装:制作一个可启动的 u 盘并从 u 盘启动计算机。使用移动硬盘安装:将 windows 7 iso...
-
饥饿鲨进化绿色面鱼在哪 饥饿鲨进化中绿色人面鱼所在位置
众多玩家对《饥饿鲨进化》中的绿色人面鱼所在位置感到困惑。本文将详细解答这一问题,帮助大家轻松找到并捕捉这种神秘生物。php小编子墨搜集了大量信息,为大家呈现了绿色人面鱼的具体位置,确保阅读完本文后,你...
-
作业帮怎么去掉手写痕迹
作业帮去除手写痕迹有两种方法:打开图片,选择“橡皮擦”工具,调整大小和强度擦除痕迹。点击“编辑”按钮,选择“智能抠图”,系统自动抠出痕迹,点击“确定”即可去除。作业帮去除手写痕迹方法 作业帮是一款深受...
-
igs文件是什么文件生成的
igs 文件是由图像地理空间信息系统 (igds) 生成的,用于存储计算机辅助设计 (cad) 数据,包含几何图形、文本、图层和属性信息等。igs 文件广泛用于产品设计、建筑设计和土木工程制图等领域。...