第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 PostgreSQL Gorm 中獲取數(shù)據(jù)

在 PostgreSQL Gorm 中獲取數(shù)據(jù)

Go
森林海 2022-11-23 19:56:55
我有我的模型如下: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)


查看完整回答
反對 回復(fù) 2022-11-23
  • 1 回答
  • 0 關(guān)注
  • 187 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號