driver-go
driver-go copied to clipboard
当 rows.Next(values),没有查询到数据时,程序会阻塞
conn, err := af.Open(config.Host, config.User, config.Pwd, config.DbName, config.Port) if err != nil { logx.Error(err) return nil, err } defer conn.Close()
rows, err := conn.Query(queryStr)
if err != nil {
logx.Error(err)
return nil, err
}
defer rows.Close()
columns := rows.Columns()
logx.Info("columns:", columns)
values := make([]driver.Value, len(columns))
// fmt.Println("rows:",rows.Next(values))
// **没有查询到数据时,程序阻塞了**
if err := rows.Next(values); err != nil {
logx.Info("err:", err)
return nil, err
}
row := make(map[string]interface{})
for k, v := range columns {
row[v] = values[k]
}
logx.Info("rowData:", row)
return row, nil