質問編集履歴
1
追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -7,4 +7,32 @@
|
|
7
7
|
stmt, err := db.Prepare("INSERT table SET unique_id=? ON DUPLICATE KEY UPDATE id=LAST_INSERT_ID(id)")
|
8
8
|
res, err := stmt.Exec(unique_id)
|
9
9
|
lid, err := res.LastInsertId()
|
10
|
-
```
|
10
|
+
```
|
11
|
+
|
12
|
+
## 追記
|
13
|
+
現状下記のようなinsertメソッドにしていて、ここからinsertした場合のidを取得したいです。
|
14
|
+
```
|
15
|
+
func (p *Postgres) InsertHoge(tx *sqlx.Tx, hoge models.Hoge) (models.Hoge, error) {
|
16
|
+
|
17
|
+
query, args, err := sq.StatementBuilder.PlaceholderFormat(sq.Dollar).
|
18
|
+
Insert(`"hoge"`).
|
19
|
+
Columns(
|
20
|
+
`"title"`,
|
21
|
+
).
|
22
|
+
Values(
|
23
|
+
hoge.Title,
|
24
|
+
).
|
25
|
+
ToSql()
|
26
|
+
|
27
|
+
if err != nil {
|
28
|
+
return hoge, err
|
29
|
+
}
|
30
|
+
|
31
|
+
if err := tx.Get(&hoge, query, args...); err != nil {
|
32
|
+
return hoge, err
|
33
|
+
}
|
34
|
+
|
35
|
+
return hoge, nil
|
36
|
+
```
|
37
|
+
|
38
|
+
}
|