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