问题陈述
问题1
尝试检索计数时,我得到0。 查询表达式是完美的,据此我可以假设正在构建的查询是正确的。
但是,无论查询如何,结果都是0。
问题2
我需要在Table子句中将数据库名称指定为Table(dbname.tbname)
在任何其他查询中都不是必需的,只有在使用Count()时才需要
我可能会缺少什么?
package main
import (
"github.com/jinzhu/gorm"
_ "github.com/jinzhu/gorm/dialects/mssql"
_ "github.com/jinzhu/gorm/dialects/mysql"
_ "github.com/jinzhu/gorm/dialects/postgres"
_ "github.com/jinzhu/gorm/dialects/sqlite"
)
var db *gorm.DB
var err error
func main() {
db, err = gorm.Open("mysql", "gorm:gorm@tcp(localhost:9910)/gorm?charset=utf8&parseTime=True")
if err != nil {
panic(err)
}
db.LogMode(true)
var count int
var db = "db"
var tb = "tb"
var columnname = "somecol"
var date = "2014-01-02"
err := db.Table(db+"."+tb).Where("? >= ?", columnname, date+" 00:01:00").Count(&count)
if err != nil {
Error.Println(err.Error.Error())
}
fmt.Println("The Count is \n", count)
}
更新1
以下作品。
但这是我的理解,将结果用作* sql.Row,然后使用scan检索结果。
但是我不明白,为什么...Count(&count)
出现运行时错误?