代码挂起在golang中的stmt.Exec()事务上
我面临一个奇怪的问题。在以下代码中,代码达到断点1,但未达到断点2。也没有错误。代码只是停留在那里,没有抛出任何错误代码挂起在golang中的stmt.Exec()事务上,go,Go,我面临一个奇怪的问题。在以下代码中,代码达到断点1,但未达到断点2。也没有错误。代码只是停留在那里,没有抛出任何错误 dbMaster := s.master tx, err := dbMaster.Begin() stmt, err := tx.Prepare("UPDATE service set status='deleted' where id=1") if err != nil { tx.Rollback() log.Printf("Error while prepa
dbMaster := s.master
tx, err := dbMaster.Begin()
stmt, err := tx.Prepare("UPDATE service set status='deleted' where id=1")
if err != nil {
tx.Rollback()
log.Printf("Error while preparing statement: %s\n", err)
}
defer stmt.Close()
fmt.Println("break point 1")
result, err := stmt.Exec()
fmt.Println("break point 2")
if err != nil {
log.Printf("Error executing statement: %s\n", err)
}
您可能希望检查
tx处的错误,err:=dbMaster.Begin()
,但我猜如果失败,tx将为零(因此Prepare将死机)。可能是连接问题,超时时间很长(或无限长)。您解决过这个问题吗?