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