2016-09-26 61 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

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