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

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

GO 中的 sql 查詢問題

GO 中的 sql 查詢問題

Go
函數(shù)式編程 2021-11-01 16:03:52
我有一個非常簡單的 mysql 表,有 3 列,A、B 和 C。A 和 B 是鍵。我有一個 GO 應(yīng)用程序,我正在嘗試從數(shù)據(jù)庫中檢索數(shù)據(jù)。使用其他查詢就像一種魅力,但使用這個查詢則不然:aParam := "aValue"bParam := "3,4,6,9"stmt, err := o.database.Prepare("SELECT * FROM tableX WHERE `A`= ? AND `B` IN ( ? )")defer stmt.Close()rows, err := stmt.Query(aParam, bParam)for rows.Next() {...}如果我更換第二個?對于價值觀,它完美無缺:stmt, err := o.database.Prepare("SELECT * FROM tableX WHERE `A`= ? AND `B` IN ( 3,4,6,9 )")我也試過這個(它不起作用):stmt, err := o.database.Prepare("SELECT * FROM tableX WHERE `A`= ? AND `B` IN ( " + bParam +" )")任何的想法?
查看完整描述

1 回答

?
素胚勾勒不出你

TA貢獻1827條經(jīng)驗 獲得超9個贊

問題是單個?沒有擴展到SELECT語句中(如字符串替換),而是作為單個字符串值3,4,5,6


您需要IN像這樣擴展子句的每個值:


params := []interface{} { "aValue", 3, 4, 6, 9 }

stmt, err := o.database.Prepare("SELECT * FROM tableX WHERE `A`= ? AND `B` IN ( ?, ?, ?, ? )")

defer stmt.Close()

rows, err := stmt.Query(params...)

為了讓你的生活更輕松,你可以使用像sqlx這樣的包,它對參數(shù)化IN查詢有更好的支持


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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