sql-server - 如何使用 *DB.Create() 使用 GORM 将数据插入 SQLServer
问题描述
我找到了两种使用 GORM 将数据插入 SQLServer 的方法。
GORM.DB.Exec("insert into [tableA] (value1,value2) VALUES (?,?)",v1,v2)
. 有用。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"
}
解决方案
这是一个错误,自https://github.com/go-gorm/gorm/pull/2690起已修复。如果您遇到相同的错误,请尝试更新您的 gorm,它应该可以工作。
推荐阅读
- android - 我在三星和谷歌最新版本的手机中遇到 android 媒体播放器错误 (-38, 0)
- python-3.7 - 有没有办法在我的本地函数的某个点使用全局变量?
- amazon-ami - 什么是 ami 无法识别操作类型“uiasendkeys”
- javascript - 我的应用程序中的 javascript 三元运算符有什么问题?
- eclipse - 处理记录所需的堆内存大小
- vue.js - 如何从vue js中的url中删除hasbang
- python - Selenium 无法找到我的元素(按钮)
- android - 如何删除android中较大约束布局的图像突出部分
- amazon-web-services - 为什么 Kube 服务没有将 SSL 证书附加到 AWS NLB?
- android - 使用 ffmpeg-moov atom not found 错误合并音频视频