Go MySQL 中的错误:func (*Rows) Scan 返回恐慌:(func() string)
Posted
技术标签:
【中文标题】Go MySQL 中的错误:func (*Rows) Scan 返回恐慌:(func() string)【英文标题】:error in Go MySQL: func (*Rows) Scan returns panic: (func() string) 【发布时间】:2022-01-22 21:40:05 【问题描述】:我正在尝试扫描查询返回的行,但出现此错误
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)
珍惜你的时间。
【问题讨论】:
什么是数据库架构? 您将 func Error() 发送到恐慌中而不是对其进行操作,将其更改为panic(err.Error())
以获取实际错误,然后编辑问题以包含错误消息。另外,正如 aureliar 所说,数据库的架构是什么。
【参考方案1】:
我忘了在 Error 之后放大括号,就像 Yinon Eliraz 提到的那样。写panic(err.Error())
解决了问题
【讨论】:
以上是关于Go MySQL 中的错误:func (*Rows) Scan 返回恐慌:(func() string)的主要内容,如果未能解决你的问题,请参考以下文章
可以 Go 的 Rows.Scan 忽略 SQL 查询中的字段
2022-07-04:以下go语言代码输出什么?A:true;B:false;C:编译错误。 package main import “fmt“ func main() { fmt.Pri