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

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

無法獲得更新查詢的數據庫響應,以便在 go 中進一步執行

無法獲得更新查詢的數據庫響應,以便在 go 中進一步執行

Go
慕婉清6462132 2021-08-10 16:52:54
我想更新遠程數據庫表中的數據并執行進一步的任務,但無法執行。在插入查詢中使用相同的代碼,我能夠在同一個表中插入值,在那里我得到非??斓捻憫⒗^續執行進一步的任務。但是在更新查詢中,它會更新表中的值,但不能更進一步。這是我嘗試過的示例代碼:package srcimport (    "github.com/go-sql-driver/mysql"    "database/sql"    "fmt"    "log"    "net")const (    DB_NAME = "test_db"    DB_HOST = "remote db ip address:port"    DB_USER = "username"    DB_PASS = "password")const (    bufferSize int    = 1024    port       string = ":23456")func main() {    udpAddr, err := net.ResolveUDPAddr("udp6", port)    var s Server    s.conn, err = net.ListenUDP("udp4", udpAddr)    fmt.Println("Trying to connect remote db")    dsn := DB_USER + ":" + DB_PASS + "@" + DB_HOST + "/" + DB_NAME + "?charset=utf8"    db, err := sql.Open("mysql", dsn)    if err != nil {        log.Fatal(err)    }    defer db.Close()    fmt.Println("Connected db")    rows, err := db.Query("UPDATE user_name_table SET user_id = ? WHERE user_name = ? ", "abcd", "admin")    defer rows.Close()    if err != nil {        log.Fatal(err)        fmt.Println("error in updating values")    } else {        fmt.Println("updated successfully in db")    }    // not coming here for doing further tasks}另外,我嘗試從 php webservice 更新 db 表并且它工作正常,但是使用 go 既沒有在更新值后給出響應也沒有進一步移動。請幫我 。提前致謝。
查看完整描述

2 回答

?
慕容森

TA貢獻1853條經驗 獲得超18個贊

發生這種情況是因為log.Fatal(err)將調用os.Exit(1). 換句話說,它會在err != nil.


查看完整回答
反對 回復 2021-08-10
?
森林海

TA貢獻2011條經驗 獲得超2個贊

找到了解決方案。剛剛刪除了不需要的行以返回更新查詢的響應,并且一切正常。


_, err := db.Query("UPDATE user_name_table SET user_id = ? WHERE user_name = ? ",   "abcd", "admin")

    // defer rows.Close()


查看完整回答
反對 回復 2021-08-10
  • 2 回答
  • 0 關注
  • 172 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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