GORM Count возвращает 0 - PullRequest
0 голосов
/ 03 июля 2019

Постановка задачи

Задача 1

Я получаю 0 при попытке получить счетчик. Выражение запроса идеально, поэтому я предполагаю, что создаваемый запрос корректен.

Однако результат равен 0 независимо от запроса.

Задача 2

Мне необходимо указать имя db в предложении 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, а затем получить результат с помощью сканирования.

Но я не понимаю, почему ...Count(&count) выдает ошибку времени выполнения?

...