Go を使用した 1 つの文字列内の複数の SQL ステートメント
PHP では、複数の SQL ステートメントを で区切ることにより、一度に簡単に実行できます。セミコロン。ただし、この機能を提供する Go 用の MySQL ドライバーを見つけるのは難しい場合があります。
人気のあるドライバーの 1 つである 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 文字列は 1 回の呼び出しで実行され、以前に発生した「エラー 1064」が解消されます。
で複数のステートメントを使用することに注意してください。 1 つの文字列には、予期しない結果が生じる可能性があるため、注意して扱う必要があります。 github.com/go-sql-driver/mysql の公式ドキュメントには、このトピックの詳細が記載されています。
以上がGo の `github.com/go-sql-driver/mysql` ドライバーを使用して単一の文字列で複数の SQL ステートメントを実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。