我想更新远程数据库表中的数据并执行进一步的任务但无法执行。
在插入查询中使用相同的代码,我能够在同一个表中插入值,我很快就会得到响应并继续执行进一步的任务。 但在更新查询中,它确实更新了表中的值,但无法继续。
这是我尝试过的示例代码:
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/