sqlx возвращает пустую структуру, даже если она существует - PullRequest
0 голосов
/ 28 января 2019

Вот мой код:

package main

import (
    "fmt"
    "github.com/jmoiron/sqlx"
    _ "github.com/lib/pq"
    "log"
    "time"
)

type Commune struct {
    Id int `db:"id"`
    Created time.Time `db:"created"`
    Modified time.Time `db:"modified"`
    Name string `db:"name"`
}

func main() {
    var err error
    db, err = sqlx.Connect("postgres", "user=toto 
    dbname=tata password=titi sslmode=disable")
    commune := []Commune{}
    db.Select(&commune, `SELECT * FROM "Geo_commune"  WHERE id=1  ORDER BY name ASC`)
    rows, err2 := db.Query(`SELECT * FROM "Geo_commune"  WHERE id=1  ORDER BY name ASC`)
    fmt.Println(commune)
    fmt.Println(rows)
    if err != nil {
    log.Fatalln(err)
    }
     if err2 != nil {
    log.Fatalln(err2)
    }

   }

вот данные в базе данных:

enter image description here

edit: имя_таблицы:

enter image description here

и я даже пытался с:

db.Select(&commune, `SELECT * FROM "Geo_commune"  WHERE id=1  ORDER BY name ASC`)

, но возврат всегда пуст, и я уверен,что данные существуют, и у меня нет ошибки подключения.

Без строк "Geo_commune", err2: = db.Query (SELECT * FROM Geo_commune WHERE id=1 ORDER BY name ASC) у меня есть: 2019/01/28 22:17: 16 pq: отношение "geo_commune" не существует

С уважением

редактировать мои новые тесты:

package main

import (
    "fmt"
    "github.com/jmoiron/sqlx"
    "log"
    "time"
    _ "github.com/lib/pq"
)
type Commune struct {
    Id int `db:"id"`
    Created time.Time `db:"created"`
    Modified time.Time `db:"modified"`
    Name string `db:"name"`

}
var db *sqlx.DB
func main() {
    var err error
    db, err = sqlx.Connect("postgres", "user=toto dbname=titi password=tata sslmode=disable")
    commune := []Commune{}

    if err != nil {
        log.Fatalln(err)
    }
    db.Select(&commune, `SELECT * FROM "Geo_commune"  WHERE id=1  ORDER BY name ASC`)
    rows, err2 := db.Query(`SELECT * FROM "Geo_commune"  WHERE id=1  ORDER BY name ASC`)
    if err != nil {
        log.Fatalln(err)
    }
    if err2 != nil {
        log.Fatalln(err2)
    }


    db.Select(&commune, `SELECT * FROM public.Geo_commune  WHERE id=1  ORDER BY name ASC`)
    rows, err2 = db.Query(`SELECT * FROM public.Geo_commune  WHERE id=1  ORDER BY name ASC`)
    fmt.Println(commune)
    fmt.Println(rows)
    if err != nil {
        log.Fatalln(err)
    }
    if err2 != nil {
        log.Fatalln(err2)
    }



    }

дает мне:

[]
<nil>
2019/01/29 09:50:06 pq: relation "public.geo_commune" does not exist

1 Ответ

0 голосов
/ 29 января 2019

Я запутался с твоим описанием.это бросило pq: relation "geo_commune" does not exist?если это так, ваш источник данных неверен.если это не так, попробуйте select * from public.Geo_commune

...