GORM 2.0에서 마지막 삽입 ID를 검색하는 방법
이전 GORM 버전에서는 Begin() 메서드가 sql.Tx 개체를 반환했습니다. LastInsertId() 메소드를 사용하여 마지막 삽입 ID 검색을 활성화했습니다. 그러나 GORM 2.0에서는 이 방법이 제거되었습니다.
GORM 2.0에서 마지막 삽입 ID 검색
GORM 2.0에서 마지막 삽입 ID를 얻는 방법에는 두 가지가 있습니다. :
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>
권장 사항:
두 번째 접근 방식을 사용하는 것이 좋습니다(모델 ID에 직접 액세스). 추가 db.Last() 호출이 필요하지 않기 때문입니다. 이는 특히 대용량 삽입 작업의 경우 성능을 향상시킬 수 있습니다.
위 내용은 GORM 2.0에서 마지막 삽입 ID를 검색하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!