GORM 2.0: 最後の挿入 ID の取得
GORM v2.0 を使用して MySQL データベースにデータを挿入する場合、LastInsertId() メソッドBegin() メソッドでは利用できなくなりました。代わりに、最後の挿入 ID を取得するには 2 つのオプションがあります。
オプション 1: db.Last() 関数を使用します
データベースに行を挿入した後、 db.Last() 関数を呼び出して、モデルへのポインターを渡します。モデルには、最後の挿入 ID を含む、挿入された値が設定されます。
例:
<code class="go">type User struct { gorm.Model Name string } user1 := User{Name: "User One"} _ = db.Transaction(func(tx *gorm.DB) error { tx.Create(&user1) return nil }) db.Last(&user1) fmt.Printf("User one ID: %d\n", user1.ID)</code>
オプション 2: ID に直接アクセス
ID は、Create 関数に渡すモデルにも入力されます。 db.Last() を使用せずに直接アクセスできます。
例:
<code class="go">type User struct { gorm.Model Name string } user1 := User{Name: "User One"} _ = db.Transaction(func(tx *gorm.DB) error { tx.Create(&user1) return nil }) fmt.Printf("User one ID: %d\n", user1.ID)</code>
以上がGORM v2.0 で最後の挿入 ID を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。