I have searched the error and I have find two questions:
Here is my code:
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) } }
It creates table and insert 2 records, but can not return them back:
λ go run main.go 2016/09/26 14:46:04 non-struct dest type struct with >1 columns (2) exit status 1
How can I fix it ?
It works if you export your fields:
type Film struct { Code int Name string }
Notice the uppercase (Code
, not code
).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With