go语言查询mysql
对于Query而言,没有数据是不会返回error,同时sql.rows也没有返回关于长度的属性,因此只能自己遍历rows属性,这是比较操蛋的事情,对比而言QueryRow就相对于友好一点,如果没有返回结果,error的值会是sql.ErrNoRows,因此,判断这个值就能得到数据库中是否有我们需要的那个数据.。
var name string
err := db.QueryRow(`select name from user where uid=7`).Scan(&name) //db为sql.DB
if err == sql.ErrNoRows {
log.Print("没有结果")
} else {
log.Print("youjieguo:",name)
}