代码在golang中的stmt.Exec()事务处挂起

I am facing a weird issue. In the following code the code reaches to break point 1 but not break point 2. There is no error as well. The code just gets stuck there without throwing any error.

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
", 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
", err)
}