|
- // +build !go1.10
-
- package mssql
-
- import (
- "database/sql/driver"
- "errors"
- )
-
- func (r *Result) LastInsertId() (int64, error) {
- s, err := r.c.Prepare("select cast(@@identity as bigint)")
- if err != nil {
- return 0, err
- }
- defer s.Close()
- rows, err := s.Query(nil)
- if err != nil {
- return 0, err
- }
- defer rows.Close()
- dest := make([]driver.Value, 1)
- err = rows.Next(dest)
- if err != nil {
- return 0, err
- }
- if dest[0] == nil {
- return -1, errors.New("There is no generated identity value")
- }
- lastInsertId := dest[0].(int64)
- return lastInsertId, nil
- }
|