從 Gorm 模型創建主鍵時,它返回錯誤“重復列名:“id””我的模型看起來像type User struct { gorm.Model Id string gorm:"primary_key;" FirstName string LastName string }知道上面的模型有什么問題嗎
1 回答

溫溫醬
TA貢獻1752條經驗 獲得超4個贊
GormID
默認用作主鍵。它是您正在嵌入的一部分gorm.Model
。
嵌入 時gorm.Model
,您應該省略它ID
,因為 gorm 已經包含了它。另一種方法是刪除嵌入gorm.Model
并指定ID
您自己。
引用gorm 約定頁面:
gorm.Model 是一個基本的 GoLang 結構體,包含以下字段:ID、CreatedAt、UpdatedAt、DeletedAt。
它可以嵌入到您的模型中,或者您可以在沒有它的情況下構建自己的模型。
與編譯相反,模式創建失敗的原因是許多數據庫(包括 CockroachDB)都會進行不區分大小寫的檢查,除非您引用對象名稱(Id
matches?id
,但"Id"
不引用)。與不區分大小寫相比,這會導致兩個單獨的列名稱相匹配。
- 1 回答
- 0 關注
- 300 瀏覽
添加回答
舉報
0/150
提交
取消