亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

如何修復多值 stmt.Query() 在單值上下文中

如何修復多值 stmt.Query() 在單值上下文中

Go
30秒到達戰場 2022-08-24 10:43:29
我通過下面的代碼面臨上述問題    stmt, err2 := db.Prepare( "SELECT COUNT(*) FROM  xyz WHERE product_id=? and chart_number=?")     rows, err2 := stmt.Query( bidStatusReqVal.ProductId,bidStatusReqVal.ChartNumber).Scan(&count)
查看完整描述

1 回答

?
慕慕森

TA貢獻1856條經驗 獲得超17個贊

Query(...).Scan(...)無效,因為返回兩個值,并且調用鏈接要求前一個調用僅返回一個值。呼叫返回的 ,或僅將 with 用作返回目的地。QueryScanrowsQueryRow(...).Scan(...)err


rows, err := stmt.Query(bidStatusReqVal.ProductId, bidStatusReqVal.ChartNumber)

if err != nil {

    return err

}

defer rows.Close()


for rows.Next() {

    if err := rows.Scan(&count); err != nil {

        return err

    }

}

if err := rows.Err(); err != nil {

    return err

}


// ...

在查詢僅返回單個行的情況下,例如 ,或者如您的情況,使用 會更方便。SELECT ... LIMIT 1SELECT COUNT(*) ...QueryRow


err := stmt.QueryRow(bidStatusReqVal.ProductId, bidStatusReqVal.ChartNumber).Scan(&count)

if err != nil {

    return err

}


// ...


查看完整回答
反對 回復 2022-08-24
  • 1 回答
  • 0 關注
  • 91 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號