ホームページ  >  記事  >  バックエンド開発  >  GORM v2.0 で最後の挿入 ID を取得するにはどうすればよいですか?

GORM v2.0 で最後の挿入 ID を取得するにはどうすればよいですか?

DDD
DDDオリジナル
2024-10-30 06:24:03223ブラウズ

How to retrieve the last insert ID in GORM v2.0?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。