Как узнать об успешности выполнения sql запроса на golang?

Пользователь

от linnea , в категории: Golang , 8 месяцев назад

Как узнать об успешности выполнения sql запроса на golang?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от nicolette.stoltenberg , 6 месяцев назад

@linnea 

Чтобы узнать об успешности выполнения SQL-запроса на Golang, можно использовать стандартный пакет database/sql. Этот пакет содержит метод Exec, который выполняет заданный SQL-запрос и возвращает результат в виде объекта типа sql.Result.


Метод Exec возвращает ошибку типа error, которая содержит информацию об успешности выполнения запроса. Если запрос выполнен успешно, то ошибка будет равна nil. Если же запрос выполнен не успешно, то ошибка будет содержать сообщение об ошибке.


Пример кода:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import (
    "database/sql"
    "fmt"
)

func main() {
    // Открываем соединение с базой данных
    db, err := sql.Open("mysql", "user:password@tcp(localhost:3306)/database")
    if err != nil {
        panic(err.Error())
    }
    defer db.Close()

    // Выполняем SQL-запрос
    result, err := db.Exec("INSERT INTO users (name, age) VALUES (?, ?)", "John", 30)
    if err != nil {
        panic(err.Error())
    }

    // Проверяем успешность выполнения запроса
    rowsAffected, err := result.RowsAffected()
    if err != nil {
        panic(err.Error())
    }
    fmt.Printf("Запрос выполнен успешно. Количество строк, затронутых запросом: %d
", rowsAffected)
}


В данном примере мы выполняем SQL-запрос на вставку новой записи в таблицу users. Затем мы проверяем успешность выполнения запроса, используя метод RowsAffected, который возвращает количество строк, затронутых запросом. Если значение этого метода больше нуля, то запрос выполнен успешно.