Go MySQL ドライバーを使用した単一文字列内の複数の SQL ステートメント
Go で SQL データベースを操作する場合、開発者は多くの場合、 1 回の呼び出し内で複数の SQL ステートメントを実行できます。これは、データベースの作成または変更、データ ダンプの適用、その他の管理タスクに役立ちます。
MySQL データベースへの接続に広く使用されている人気の Go-MySQL-Driver は、当初、複数のステートメントをサポートする際に制限に直面していました。 1 つのクエリ。ただし、この問題は、multiStatements 接続パラメータの導入によって解決されました。
複数のステートメントのサポートを有効にするには、新しいデータベース接続を作成するときに接続文字列に multiStatements=true を追加するだけです。
db, err := sql.Open("mysql", "user:password@(127.0.0.1:3306)/?multiStatements=true")
multiStatements パラメーターを有効にすると、セミコロン (';') で区切られた複数の SQL ステートメントを 1 回の実行で実行できるようになります。 query:
sql := `DROP SCHEMA IF EXISTS foo; CREATE SCHEMA IF NOT EXISTS foo;` _, err = db.Exec(sql)
これにより、標準クエリで発生するような構文エラーが発生することなく、DROP SCHEMA ステートメントと CREATE SCHEMA ステートメントの両方が一度に実行されます。
複数のステートメントを使用することに注意してください。ステートメントが相互に作用する場合、予期しない動作が発生する可能性があるため、単一のクエリ内での実行は慎重に行う必要があります。一般に、制御性と読みやすさを向上させるために、各ステートメントを個別に実行することをお勧めします。
以上がGo MySQL ドライバーを使用して単一の文字列で複数の SQL ステートメントを実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。