Как вставить данные в SQLServer с помощью GORM с помощью * DB.Create () - PullRequest
0 голосов
/ 04 августа 2020

Я нахожу два способа вставки данных в SQLServer с помощью GORM.

  1. GORM.DB.Exec("insert into [tableA] (value1,value2) VALUES (?,?)",v1,v2). Работает.
  2. GROM.DB.Create(&myDataStruct).Error. При этом сообщается об ошибке и сообщается следующее: «LastInsertId не поддерживается. Используйте предложение OUTPUT или добавьте select ID = convert(bigint, SCOPE_IDENTITY()) в конец вашего запроса.»

Я понимаю, что означает эта инструкция, но я не умею программировать. Спасибо за любую помощь.

следуя моему коду

db := mssql.GetMssqlDB()
    defer db.Close()

    newData := mssql.People{
        Name: "Tom",
        Age:  12,
    }
    err := db.Create(&newData).Error
    if err != nil {
        fmt.Println()
    }

и структуре данных


type People struct {
    ID   int64  `gorm:"primary_key;column:id"`
    Name string `gorm:"column:name"`
    Age  int    `gorm:"column:age"`
}

func (p People) TableName() string {
    return "dbo.people"
}

1 Ответ

0 голосов
/ 05 августа 2020

Это ошибка, исправленная с https://github.com/go-gorm/gorm/pull/2690. Если вы получите ту же ошибку, попробуйте обновить свой gorm, и он должен работать.

...