2016-09-26 63 views
6

我已经搜查了错误,我有发现两个问题:SQLX - 非结构目标类型结构与> 1列(2)

这里是我的代码:

package main 

import (
    "log" 

    "github.com/jmoiron/sqlx" 

    _ "github.com/lib/pq" 
) 

var schema = ` 
CREATE TABLE films (
    code int, 
    name VARCHAR(10) 
)` 

type Film struct { 
    code int 
    name string 
} 

func main() { 
    db, err := sqlx.Open("postgres", "user=demas password=root host=192.168.99.100 port=32768 dbname=mydb sslmode=disable") 
    if err != nil { 
     log.Fatal(err) 
    } 

    db.MustExec(schema) 

    tx := db.MustBegin() 
    tx.MustExec("INSERT INTO films(code, name) VALUES($1, $2)", 10, "one") 
    tx.MustExec("INSERT INTO films(code, name) VALUES($1, $2)", 20, "two") 
    tx.Commit() 

    films := []Film{} 
    err = db.Select(&films, "SELECT * FROM public.films") 
    if err != nil { 
     log.Fatal(err) 
    } 

} 

它创建表并插入2条记录,但不能返回他们回来:

​​

我怎样才能解决这个问题?

type Film struct { 
    Code int 
    Name string 
} 

注意大写(Code,不code):

回答

10

如果您导出字段它的工作原理。