我正在使用go-sql-driver连接到 MySQL 数据库。在我的一张表中,我使用一个名为 queue_length 的字段作为 BIGINT。该字段默认为 NULL。当我尝试在 Golang 中使用 go-sql-driver 查询表中的所有字段时,queue_length 之后的字段没有出现在包括 queue_length 在内的结果集中。在我的用例中,表字段 [unique_id, qid, title, text, queue_length, user_id, date_created, last_updated]当我执行以下代码时,我获得了 queue_length 之前字段的值,但 [queue_length, user_id, date_created, last_updated] 字段没有出现在结果集中。但是,如果我不选择 queue_length,则所有字段都将出现在结果集中。我正在扫描类型为 int64 的代码中 queueLength 变量中的 queue_length。来自表的值为 NULL。我也试过类型转换。没用。这是 go-sql-driver 中的错误还是我做错了什么?有人可以帮我解决这个问题吗?func GetQueues(uniqueId string) ([]*objects.Queue, error) { db, err := GetDBConnection() defer db.Close() rows, err := db.Query("SELECT qid, title, text, queue_length, user_id, date_created, last_updated FROM queue WHERE unique_id = ?", uniqueId) if err != nil { panic(err.Error()) } defer rows.Close() var qId string var title string var text string var userId string var dateCreated string var lastUpdated string var queueLength int64 var queue *objects.Queue var queues []*objects.Queue for rows.Next() { err = rows.Scan(&qId, &title, &text, &queueLength, &userId, &dateCreated, &lastUpdated) queue = &objects.Queue{ QId: qId, Title: title, Text: text, UniqueId: uniqueId, UserId: userId, DateCreated: dateCreated, LastUpdated: lastUpdated, QueueLength: queueLength } queues = append(queues, queue) } err = rows.Err() if err != nil { panic(err.Error()) return nil, err } return queues, err}
- 2 回答
- 0 关注
- 253 浏览
添加回答
举报
0/150
提交
取消