こちらのコードを見ていただきたいのですが、sqlで、なぜわざわざprepare()してQueryRowContext()する必要があるのでしょうか?
Go
1 var err error 2 query := "select * from memo where id = ?" 3 stmt, err := prepare(ctx, query) 4 if err != nil { 5 return nil, errm.Wrap(err, http.StatusInternalServerError) 6 } 7 8 err = stmt.QueryRowContext(ctx, id).Scan(&q.ID, &q.Text) 9 if err != nil { 10 return nil, errm.Wrap(err, http.StatusInternalServerError) 11 } 12
シンプルに、
var q model.Question if err := qr.db.QueryRow(`select * from question where id = $1`, id).Scan(&q); err != nil { return nil, err } return &q, nil
これではいけないのでしょうか?
あと、sqlでなぜcontextが使われているのでしょうか?
ご回答よろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/12/06 06:37
2019/12/06 13:36 編集
2019/12/07 02:36