go
data_error
ai_generated
true
error: sql: Rows.Next: called after Rows.Err
ID: go/database-sql-nil-rows
80%Fix Rate
89%Confidence
0Evidence
2024-12-02First Seen
Version Compatibility
| Version | Status | Introduced | Deprecated | Notes |
|---|---|---|---|---|
| 1.18 | active | — | — | — |
Root Cause
在迭代数据库结果时,先调用了 Rows.Err() 导致迭代器状态异常,再调用 Rows.Next() 引发错误。
generic中文
在迭代数据库结果时,先调用了 Rows.Err() 导致迭代器状态异常,再调用 Rows.Next() 引发错误。
Workarounds
-
98% success
for rows.Next() { /* 处理 */ } if err := rows.Err(); err != nil { log.Fatal(err) } -
95% success
for rows.Next() { /* 处理 */ } if err := rows.Err(); err != nil { log.Fatal(err) }
Dead Ends
Common approaches that don't work:
-
90% fail
会导致数据不完整或程序崩溃。
-
70% fail
浪费资源,且未解决根本的迭代顺序问题。