首页 > 后端开发 > Golang > 如何使用 Go 的 `github.com/go-sql-driver/mysql` 驱动程序在单个字符串中执行多个 SQL 语句?

如何使用 Go 的 `github.com/go-sql-driver/mysql` 驱动程序在单个字符串中执行多个 SQL 语句?

Susan Sarandon
发布: 2024-11-28 13:34:11
原创
772 人浏览过

How Can I Execute Multiple SQL Statements in a Single String Using Go's `github.com/go-sql-driver/mysql` Driver?

用 Go 在一个字符串中执行多个 SQL 语句

在 PHP 中,通过用一个分隔符来一次性执行多个 SQL 语句是很简单的分号。然而,为 Go 找到一个提供此功能的 MySQL 驱动程序可能具有挑战性。

一个流行的驱动程序 github.com/go-sql-driver/mysql 最初在这方面面临限制。但根据文档,它现在通过 multiStatements=true 连接参数支持多个语句。

这里有一个修改后的代码片段来演示:

package main

import (
    "database/sql"
    "fmt"
    "log"

    _ "github.com/go-sql-driver/mysql"
)

func main() {
    // Create a connection string with multiStatements enabled
    connectionString := fmt.Sprintf("user:password@(127.0.0.1:3306)/?multiStatements=true")

    db, err := sql.Open("mysql", connectionString)
    if err != nil {
        log.Println(err)
    }

    sql := "DROP SCHEMA IF EXISTS foo; CREATE SCHEMA IF NOT EXISTS foo;"
    _, err = db.Exec(sql)
    if err != nil {
        log.Println(err)
    }

    db.Close()
}
登录后复制

通过此修改,多个 SQL 语句sql 字符串将在一次调用中执行,消除了之前遇到的“错误 1064”。

请记住,在一个字符串中使用多个语句应该谨慎对待,因为它可能会产生不可预测的结果。 github.com/go-sql-driver/mysql 的官方文档提供了有关此主题的更多详细信息。

以上是如何使用 Go 的 `github.com/go-sql-driver/mysql` 驱动程序在单个字符串中执行多个 SQL 语句?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板