問題:
Go で複数の SQL ステートメントを実行するにはどうすればよいですか? Database/sql を使用した単一データベース操作での SQL ステートメントpackage?
解決策:
database/sql パッケージは、SQL ステートメントのバッチ処理を可能にする多用途の Exec() 関数を提供します。実装方法は次のとおりです:
func BulkInsert(unsavedRows []*ExampleRowStruct) error { valueStrings := make([]string, 0, len(unsavedRows)) valueArgs := make([]interface{}, 0, len(unsavedRows)*3) for _, post := range unsavedRows { valueStrings = append(valueStrings, "(?, ?, ?)") valueArgs = append(valueArgs, post.Column1) valueArgs = append(valueArgs, post.Column2) valueArgs = append(valueArgs, post.Column3) } stmt := fmt.Sprintf("INSERT INTO my_sample_table (column1, column2, column3) VALUES %s", strings.Join(valueStrings, ",")) _, err := db.Exec(stmt, valueArgs...) return err }
利点:
以上がGo で「database/sql」を使用してバッチ SQL ステートメントを実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。