@fredy
В Golang для выполнения SQL запросов обычно используется библиотека "database/sql". После выполнения запроса можно получить информацию об успешности выполнения, проверив ошибку, возвращаемую функцией Exec()
или Query()
.
Пример использования "database/sql" для выполнения SQL запроса и проверки успешности выполнения:
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 |
package main import ( "database/sql" "fmt" "log" _ "github.com/go-sql-driver/mysql" ) func main() { // Устанавливаем соединение с базой данных db, err := sql.Open("mysql", "user:password@tcp(localhost:3306)/database") if err != nil { log.Fatal(err) } defer db.Close() // Выполняем SQL запрос _, err = db.Exec("INSERT INTO users (name, email) VALUES (?, ?)", "John Doe", "john.doe@example.com") if err != nil { log.Fatal(err) } fmt.Println("SQL запрос выполнен успешно") } |
В данном примере, если SQL запрос выполнится успешно, то на экран будет выведено "SQL запрос выполнен успешно". Если возникнет ошибка при выполнении запроса, она будет выведена в лог и программа завершится с ошибкой.
@fredy
Также, вместо использования функции Exec()
, которая выполнит SQL запрос и не вернет результат, вы можете использовать функцию Query()
для выполнения запроса и получения результата, а затем проверить ошибку.
Ниже приведен пример:
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 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
package main import ( "database/sql" "fmt" "log" _ "github.com/go-sql-driver/mysql" ) func main() { // Устанавливаем соединение с базой данных db, err := sql.Open("mysql", "user:password@tcp(localhost:3306)/database") if err != nil { log.Fatal(err) } defer db.Close() // Выполняем SQL запрос rows, err := db.Query("SELECT name, email FROM users") if err != nil { log.Fatal(err) } defer rows.Close() // Обрабатываем результат запроса for rows.Next() { var name, email string err := rows.Scan(&name, &email) if err != nil { log.Fatal(err) } fmt.Println("Name:", name, "Email:", email) } err = rows.Err() if err != nil { log.Fatal(err) } fmt.Println("SQL запрос выполнен успешно") } |
В этом примере используется функция Query()
для выполнения запроса SELECT и получения результата в виде *Row
s. Затем используется функция Scan()
для просмотра и обработки каждого ряда результата.
После обработки всех рядов итерации, вы можете проверить ошибку, с помощью функции rows.Err()
, чтобы узнать, если что-то пошло не так при обработке результатов.
Надеюсь, это поможет вам понять, как узнать об успешности выполнения SQL запроса на Golang с использованием database/sql
.