GORM 2.0 で最後の挿入 ID を取得する方法は?
Oct 26, 2024 pm 01:24 PMGORM 2.0 で最後の挿入 ID を取得する方法
以前の GORM バージョンでは、Begin() メソッドは次の sql.Tx オブジェクトを返しました。 LastInsertId() メソッドを使用して最後の挿入 ID を取得できるようになりました。ただし、GORM 2.0 では、このメソッドは削除されました。
GORM 2.0 での最後の挿入 ID の取得
GORM 2.0 では、最後の挿入 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 フィールドに直接アクセスすることもできます。 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 }) fmt.Printf("User one ID: %d\n", user1.ID)</code>
推奨事項:
2 番目のアプローチ (モデルの ID に直接アクセスする) を使用することをお勧めします。追加の db.Last() 呼び出しが不要になるためです。これにより、特に大量の挿入操作のパフォーマンスが向上します。
以上がGORM 2.0 で最後の挿入 ID を取得する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

人気の記事

人気の記事

ホットな記事タグ

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Go Language Packのインポート:アンダースコアとアンダースコアなしの違いは何ですか?

GOでテスト用のモックオブジェクトとスタブを書くにはどうすればよいですか?

トレースツールを使用して、GOアプリケーションの実行フローを理解するにはどうすればよいですか?

MySQLクエリ結果リストをGO言語のカスタム構造スライスに変換する方法は?

GOのジェネリックのカスタムタイプ制約を定義するにはどうすればよいですか?

Linterと静的分析ツールを使用して、GOコードの品質と保守性を向上させるにはどうすればよいですか?
