【Go】dbrでinsertしてlast_insert_idを取得する
dbrを使ったdb処理でinsertしてオートインクリメント値を取得したいということ。
READMEみてもよくわからなかったけど、コードみたらLastInsertIdというのがあった。
package main import ( "fmt" "strconv" _ "github.com/go-sql-driver/mysql" "github.com/gocraft/dbr" ) type Member struct { Id int64 `db:"id"` Name string `db:"name"` Email string `db:"email"` Created dbr.NullTime `db:"created"` } connection, err := dbr.Open("mysql", "USER_NAME:PASSWORD@tcp(HOSTNAME:PORT")/DB_NAME", nil) if err != nil { panic(err) } session := connection.NewSession(nil) member := Member{ Name: "テスト", Email: "test@example.com", Created: dbr.NullTime{time.Now(), true} } result, err := session.InsertInto("members"). Columns("name", "email", "created"). Record(member). Exec() if err != nil { panic(err) } id, err := result.LastInsertId() if err != nil { panic(err) } fmt.Println(id) // => オートインクリメント値
以上です