首頁 > 後端開發 > Golang > 如何使用 Go 的 MySQL 驅動程式在單一字串中執行多個 SQL 語句?

如何使用 Go 的 MySQL 驅動程式在單一字串中執行多個 SQL 語句?

Susan Sarandon
發布: 2024-12-03 17:08:10
原創
469 人瀏覽過

How Can I Execute Multiple SQL Statements in a Single String Using Go's MySQL Driver?

使用Go 在單一字串中執行多個SQL 語句

mysqldump 產生的SQL 轉儲通常包含需要順序執行的多個語句建立一個資料庫。尋找可以處理此任務的 Go MySQL 驅動程式可能具有挑戰性。

現有驅動程式有限制

Go-MySQL-Driver 和 MyMySQL 等常見驅動程式缺乏對在單一字串中執行多個語句。嘗試執行此類語句將導致錯誤。

Go-MySQL-Driver:啟用多語句支援

go-sql-driver/mysql 驅動程式提供了解決方案是允許您設定multiStatements=true 連線參數。此參數允許在單一字串中執行多個語句。

package main

import (
    "database/sql"
    "log"

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

func main() {
    db, err := sql.Open("mysql", "user:password@(127.0.0.1:3306)/?multiStatements=true")
    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()
}
登入後複製

透過設定 multiStatements=true,驅動程式將執行字串中的兩個語句,成功建立 foo 模式。需要注意的是,驅動程式的文件警告不要使用此選項,因為可能存在交易問題和其他限制。

以上是如何使用 Go 的 MySQL 驅動程式在單一字串中執行多個 SQL 語句?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板