为了账号安全,请及时绑定邮箱和手机立即绑定

golang sqlite无法定义查询变量

golang sqlite无法定义查询变量

Go
狐的传说 2021-08-10 16:44:26
看来golang的sqlite包不喜欢我的db.Query说法,虽然它和github上的例子中发现的完全一样。db, err := sql.Open("sqlite3", "./database.db")if err != nil {    log.Fatal(err)}defer db.Close()rows, err = db.Query("select id, name from job")if err != nil {    log.Fatal(err)}   defer rows.Close()fmt.Println("Jobs:")for rows.Next() {    var name string    var id int    fmt.Printf("%v %v\n", id, name)}  这是我得到的错误:./test.go:7: undefined: rows./test.go:7: cannot assign to rows./test.go:11: undefined: rows./test.go:14: undefined: rows编辑:我也尝试过使用重音符和单引号字符串db.Query(),但无济于事。
查看完整描述

1 回答

?
富国沪深

TA贡献1790条经验 获得超9个赞

您不能为未声明的变量赋值。

rows, err = db.Query("select id, name from job")

应该 :

rows, err := db.Query("select id, name from job")

理论上这应该可以解决问题,但我还没有尝试过。

您还应该添加:

rows.Scan(&id, &name)

在 printf 函数之前,以便实际将行的值分配给 id & name 变量,否则将打印一个空字符串 & 0。


查看完整回答
反对 回复 2021-08-10
  • 1 回答
  • 0 关注
  • 221 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信