從 Gorm 模型創(chuàng)建主鍵時(shí),它返回錯(cuò)誤“重復(fù)列名:“id””我的模型看起來(lái)像type User struct { gorm.Model Id string gorm:"primary_key;" FirstName string LastName string }知道上面的模型有什么問(wèn)題嗎
1 回答

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