[英]error in Go MySQL: func (*Rows) Scan returns panic: (func() string)
我正在尝试扫描查询返回的行,但出现此错误
panic: (func() string) 0xc0000ac108
goroutine 1 [running]:
main.main()
C:/Users/User/OneDrive/Dokumente/AIR/go/access/showAccess.go:35 +0x445
exit status 2
,我不明白。 所有变量的类型都是正确的,Scan 应该直接转换类型。 这是代码:
var (
id int
operation string
time string
operator int
)
// query for all records in accesses table
rows, err := DBClient.Query("SELECT * FROM accesses")
if err != nil {
panic(err.Error)
}
defer rows.Close()
// printing each record formatted
for rows.Next() {
if err := rows.Scan(&id, &operation, &time, &operator); err != nil {
panic(err.Error) // here the error comes
}
fmt.Printf("ID: %3d, operation: %20s, time: %20s, operator: %d\n",
id, operation, time, operator)
}
感谢您的时间。
我想您的列返回的顺序与您在 Scan 调用中输入的顺序不同。 尝试删除“*”,并输入实际的列名,或将 arguments 重新排序到 Scan 调用。
就像Yinon Eliraz提到的那样,我忘记在错误之后戴上大括号。 写panic(err.Error())
解决了问题
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.