# error: sql: Rows are closed

- **ID:** `go/database-sql-rows-iteration-error`
- **Domain:** go
- **Category:** data_error
- **Verification:** ai_generated
- **Fix Rate:** 80%

## Root Cause

在迭代数据库查询结果时，提前关闭了 Rows 对象，导致后续迭代操作失败。

## Version Compatibility

| Version | Status | Introduced | Deprecated |
|---------|--------|------------|------------|
| 1.20 | active | — | — |

## Workarounds

1. **** (98% success)
   ```
   rows, err := db.Query("SELECT * FROM users")
if err != nil { log.Fatal(err) }
defer rows.Close()
for rows.Next() { /* 处理 */ }
   ```
2. **** (95% success)
   ```
   if err := rows.Err(); err != nil { log.Fatal(err) }
   ```

## Dead Ends

- **** — 重新执行查询会浪费资源，且未解决根本的关闭时机问题。 (70% fail)
- **** — 会导致数据不完整或程序逻辑错误。 (90% fail)
