go语言操作mysql数据库问题

zhimengzhe · 2015-03-18 12:21:53 · 2430 次点击 · 大约8小时之前 开始浏览    置顶
这是一个创建于 2015-03-18 12:21:53 的主题,其中的信息可能已经有所发展或是发生改变。

hi
我用github.com/Go-SQL-Driver/Mysql操作mysql
例子参照go web 编程教程
增改删按顺序操作没问题,但是只修改就报错,求助大神是什么原因造成的?
报错信息:
.\test.go:47: undefined: stmt
.\test.go:48: undefined: res
.\test.go:48: undefined: stmt
.\test.go:49: undefined: res

//代码如下:

    package main  
    import (   
    "database/sql"  
    "fmt"  
    _ "github.com/Go-SQL-Driver/Mysql"  
    )  
    func main() {  
db, err := sql.Open("mysql", "root:@/test?charset=utf8")  
//checkErr(err, "连接成功")   
//    stmt, err := db.Prepare("INSERT into userinfo (username, departname, created) values (?,?,?)")  
//    res, err := stmt.Exec("astaxie", "研发部门", "2012-12-09")   
//    checkErr(err, "插入成功")  
//    fmt.Println(res)  

stmt, err = db.Prepare("UPDATE userinfo set username=? where uid=?")
res, err = stmt.Exec("astaxieupdate", 12)
affect, err := res.RowsAffected()
checkErr(err, "更新成功")
fmt.Println(affect)

//    //查询数据
//    rows, err := db.Query("SELECT * FROM userinfo")
//    for rows.Next() {
//        var uid int
//        var username string
//        var department string
//        var created string
//        err = rows.Scan(&uid, &username, &department, &created)
//        checkErr(err, "查询")
//        fmt.Println(uid)
//        fmt.Println(username)
//        fmt.Println(department)
//        fmt.Println(created)
//    }

//删除数据  
//    stmt, err = db.Prepare("delete from userinfo where uid=?")  
//    res, err = stmt.Exec(30)  
//    fmt.Println(res)  
//    db.Close()  
    }  

    func checkErr(err error, msg string) {  
    if err != nil {  
    panic(err)  
    } else {   
    fmt.Println(msg)  
    }  
    }

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

2430 次点击  
加入收藏 微博
2 回复  |  直到 2015-03-20 11:37:19
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传