首頁 >後端開發 >Golang >如何使用 Go 的 `github.com/go-sql-driver/mysql` 驅動程式在單一字串中執行多個 SQL 語句?

如何使用 Go 的 `github.com/go-sql-driver/mysql` 驅動程式在單一字串中執行多個 SQL 語句?

Susan Sarandon
Susan Sarandon原創
2024-11-28 13:34:11768瀏覽

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn