列索引 0 上的扫描错误,名称“ID”:不支持扫描,将 driver.Value 类型 int64 存储到类型 *authService.Permission”
P粉475126941
P粉475126941 2024-03-25 21:26:54
[MySQL讨论组]

当我尝试调用 err = row.Scan(&resourceList, resourceTypeId) 时收到以下错误

列索引 0 上的扫描错误,名称“ID”:不支持扫描,将 driver.Value 类型 int64 存储到类型 *[]authService.Permission”

type Permission struct {
    ID               int    `json:"id"`
    Name             string `json:"name"`
    Description      string `json:"description"`
    ParentResourceID int    `json:"parentResourceId"`
}

func GetResourcesByResourceTypeId(resourceTypeId string) ([]Permission, string, error) {
db, ctx := db.GetDB()
query := "CALL usp_GetParentResourceListByResourceTypeID(?)"
var resourceList []Permission
stmt, err := db.Prepare(query)
defer stmt.Close()
if err != nil {
    log.Errorln("Error in preparing statement. " + err.Error())
    return nil, "Error in preparing statement.", err
}

row := stmt.QueryRowContext(ctx, resourceTypeId)

err = row.Scan(&resourceList, resourceTypeId)
if err == nil {
    return resourceList, "Resource retrieval.", nil
}

log.Warningln("Resource retrieval failed, ResourceTypeID: " + resourceTypeId + ".")
return resourceList, "Resource retrieval failed.", nil
}

SQL 返回如下

ID  Name
15  Applications
16  Subscriptions
17  Payments

当我尝试在 query 中使用带有 EXEC 语句的 SQL Server 时,相同的查询工作正常。

知道这里出了什么问题吗?提前致谢。

P粉475126941
P粉475126941

全部回复(0)
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号