database - 无法获取更新查询的数据库响应以在 go 中进一步执行

标签 database go response

我想更新远程数据库表中的数据并执行进一步的任务但无法执行。

在插入查询中使用相同的代码,我能够在同一个表中插入值,我很快就会得到响应并继续执行进一步的任务。 但在更新查询中,它确实更新了表中的值,但无法继续。

这是我尝试过的示例代码:

package src

import (
    "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 既没有在更新值后给出响应,也没有进一步移动。

请帮帮我。 提前致谢。

最佳答案

发生这种情况是因为 log.Fatal(err) 将调用 os.Exit(1)。换句话说,它会在 err != nil 时终止您的程序。

关于database - 无法获取更新查询的数据库响应以在 go 中进一步执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25450177/

相关文章:

node.js - 嵌套对象查询到 Prisma 中的单个数组

Go using mux Router - 如何将我的数据库传递给我的处理程序

file - 确定路径是否在 Go 中的另一个路径内

C# FTP Response.LastModified 总是返回 1/1/0001 12 :00:00 AM

java - 如何使用java代码修改SOAP响应?

perl - 如何将特定消息放入 perl Dancer 服务器的 "response body"

java - Android - 从 mysql 数据库搜索填充编辑 TextView

java - 从 jtextfield java GUI 将值插入到 mysql 表中

mysql - 查询2个表之间的mysql连接

regex - Golang 正则表达式引用子匹配