golangでデータを検索して、内容を取得するとエラーが発生します。
1690 ワード
golangでデータを検索して、内容を取得するとエラーが発生します。
if err!=nil{fmt.Println}fmt.Println(「content:」、user)
クエリ中にエラー:
sql:expected 21 destination argments in Scan,not 2
発生原因:
データベースは2つのフィールドだけではなく、2つのフィールドしか入手できないので、エラーが発生しました。
解決方法1:
ソリューション2:
err = rows.Scan(&user.Id,&user.Name)
if err!=nil{fmt.Println}fmt.Println(「content:」、user)
クエリ中にエラー:
sql:expected 21 destination argments in Scan,not 2
発生原因:
データベースは2つのフィールドだけではなく、2つのフィールドしか入手できないので、エラーが発生しました。
解決方法1:
err = rows.Scan(&user.Id,&user.Name,&user.......)
ソリューション2:
rows, err := db.Query(data)
//fmt.Println(db)
if err != nil {
log.Fatalln(err)
}
//
cols, _ := rows.Columns()
for i := range cols {
fmt.Print(cols[i])
fmt.Print("\t")
}
// fmt.Println("")
// fmt.Println("=================================")
// values := make([]sql.RawBytes, len(cols))
// scans := make([]interface{}, len(cols))
//
// for i := range values {
//
// scans[i] = &values[i]
//
// }
//
// results := make(map[int]map[string]string)
//
// i := 0
//
// for rows.Next() {
//
// if err := rows.Scan(scans...); err != nil {
//
// fmt.Println("Error")
//
// return
//
// }
//
// row := make(map[string]string)
//
// for j, v := range values {
//
// key := cols[j]
//
// row[key] = string(v)
//
// }
//
// results[i] = row
//
// i++
//
// }
//
// //
//
// for i, m := range results {
//
// fmt.Println(i)
//
// for k, v := range m {
//
// fmt.Println(k, " : ", v)
//
// }
//
// fmt.Println("========================")
//
// }