我有我的模型如下:package modelsimport "github.com/lib/pq"type Guild struct { Id string `json:"id" gorm:"primaryKey"` DefaultBitrate int `json:"defaultBitrate"` DefaultState string `json:"defaultState"` DefaultCategory string `json:"defaultCategory"` DefaultUserLimit int `json:"defaultUserLimit"` HelpChannel string `json:"helpChannel"` Generators pq.StringArray `json:"generators" gorm:"type:text[]"` Channels pq.StringArray `json:"channels" gorm:"type:text[]"`}函數(shù)文件:func (h handler) CreateGuild(guildid string) error { guild := &models.Guild{ Id: guildid, DefaultBitrate: "64", } if result := h.DB.Create(&guild); result.Error != nil { return result.Error } return nil}func (h handler) GetGuild(guildid string) (models.Guild, error) { var guild models.Guild if result := h.DB.First(&guild, guildid); result.Error != nil { return guild, result.Error } return guild, nil}所以我所做的是先創(chuàng)建一個公會,然后嘗試使用相同的 ID 獲取它,但我沒有在控制臺中記錄任何內(nèi)容Database := db.Init() h := dbhandlers.New(Database) data, err := h.GetGuild("71728137382983743892") fmt.Print(data.DefaultBitrate)Github:https ://github.com/apidev234/abred注意:我已經(jīng)這樣創(chuàng)建了公會: err := h.CreateGuild("71728137382983743892")調(diào)試:2022/03/24 13:37:23 /Users/gaurish/Desktop/Coding/TempVC-Bot/database/handlers/Functions.go:12 SLOW SQL >= 200ms[1126.461ms] [rows:1] INSERT INTO "guilds" ("id","default_bitrate","default_state","default_category","default_user_limit","help_channel") VALUES ('ASDHA','64','','',0,'')2022/03/24 13:37:44 /Users/gaurish/Desktop/Coding/TempVC-Bot/database/handlers/Functions.go:19 ERROR: column "asdha" does not exist (SQLSTATE 42703)[229.439ms] [rows:0] SELECT * FROM "guilds" WHERE ASDHA ORDER BY "guilds"."id" LIMIT 1
1 回答

汪汪一只貓
TA貢獻(xiàn)1898條經(jīng)驗 獲得超8個贊
使用First非數(shù)字主鍵時,您需要明確指定要與主鍵匹配的列。
官方文檔:
如果主鍵是字符串(比如uuid),查詢會寫成這樣:
db.First(&user, "id = ?", "1b74413f-f3b8-409f-ac47-e8c062e3472a")
// SELECT * FROM users WHERE id = "1b74413f-f3b8-409f-ac47-e8c062e3472a";
所以在GetGuild這個:
h.DB.First(&guild, guildid)
應(yīng)該是這樣的:
h.DB.First(&guild, "id = ?", guildid)
- 1 回答
- 0 關(guān)注
- 187 瀏覽
添加回答
舉報
0/150
提交
取消