在 GORM 中,Exec 方法执行插入成功后返回的是一个 sql.Result 对象和一个 error 对象。
sql.Result 对象中包含了一些操作结果信息,例如受影响的行数、最后插入的 ID 等。可以通过调用 Result.RowsAffected() 和 Result.LastInsertId() 方法来获取这些信息。
示例代码:
result, err := db.Exec("INSERT INTO users (name, age) VALUES (?, ?)", "Alice", 20)
if err != nil {
// 处理错误
}
rowsAffected, _ := result.RowsAffected()
lastInsertID, _ := result.LastInsertId()
fmt.Printf("%d rows affected, last insert ID: %d\n", rowsAffected, lastInsertID)
需要注意的是,在使用原生 SQL 插入时,如果插入的数据不符合数据库表结构定义或者违反了约束条件(例如主键重复),则会出现错误。此时,Exec 方法会返回对应的错误对象。




