go
data_error
ai_generated
true
错误:sql:列索引2上的扫描错误:不支持将NULL转换为string
error: sql: Scan error on column index 2: converting NULL to string is unsupported
ID: go/database-sql-null-value-in-non-null-column
80%修复率
87%置信度
0证据数
2025-10-05首次发现
版本兼容性
| 版本 | 状态 | 引入 | 弃用 | 备注 |
|---|---|---|---|---|
| 1.20 | active | — | — | — |
| 1.21 | active | — | — | — |
根因分析
将NULL数据库值扫描到不可为空的Go类型,如string或int,而未使用sql.Null*类型。
English
Scanning a NULL database value into a non-nullable Go type, such as string or int, without using sql.Null* types.
解决方案
-
95% 成功率 Use sql.NullString and similar types
var name sql.NullString if err := rows.Scan(&name); err != nil { return err } if name.Valid { /* use name.String */ } else { /* handle NULL */ }
无效尝试
常见但无效的做法:
-
Using default values manually
50% 失败
May mask actual NULL meaning; use NullString for proper handling.