| DBIx::BulkLoader::Mysql(3pm) | User Contributed Perl Documentation | DBIx::BulkLoader::Mysql(3pm) |
DBIx::BulkLoader::Mysql - Perl extension for mysql bulk loading
use DBIx::BulkLoader::Mysql;
# non repeating portion of the insert statement
my $insert='insert into bulk_insert (col_a,col_b,col_c) values ';
# repeating portion of the insert statement
my $placeholders='(?,?,?)';
# how many rows to buffer until insert is called
my $bulk_insert_count=5;
# db connection
my $dbh=DBI->connect(db connection info here);
my $placeholder_count=3;
my ($bulk,$error)=DBIx::BulkLoader::Mysql->new(
dbh=>$dbh
,sql_insert=>$insert
,placeholders=>$placeholders
);
die $error unless $bulk;
for( 1 .. 50 ) {
$bulk->insert(qw(a b c));
}
# inserted 50 rows at once
$bulk->insert(qw(l l x));
# inserted 0 rows
$bulk->insert(qw(l l x));
# inserted 0 rows
$bulk->flush;
# inserted 2 rows 1 at a time
Simple buffering bulk loader interface for mysql.
None.
This section covers the OO methods for this package.
Package constructor.
$bulk is undef on error
$error explains why $bulk is undef
Constructor options
dbh=>$dbh
Sets the DBH object
sql_insert=>$insert
Contains the body of the sql statement minus the
placeholder segment.
placeholders=>$placeholders
Placeholder segment of the sql statement
placeholder_count=>3
Optional argument
If you get strange insert counts or dbi bails
set this option manually
bulk_insert_count=>50
Optional argument
Sets the number of rows to buffer for insert.
prepare_args=>{}
Optional argument
Arguments to be passed to $dbh->prepare
See DBD::mysql
Empties the placeholder buffer
Inserts the placeholder arguments onto the buffer stack. This does not cause an insert, unless the total number of rows is the same as the constructor call "bulk_insert_count=>50".
Gets the total number of column placeholders.
Gets the total size of the array used for insert.
Gets the raw sql statement used for single row inserts.
Gets the raw sql statement used for bulk row inserts.
Gets the prepared statement handle for single row inserts.
Gets the prepared statement handle for bulk row inserts.
Returns a list containing the current buffered data
DBI, DBD::mysql
If you find this software usefil please donate to the Source Forge Project.
DBIx BulkLoader Mysql <https://sourceforge.net/projects/dbix-bulkloader/>
Michael Shipper
Copyright (C) 2010 by Michael Shipper
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.4 or, at your option, any later version of Perl 5 you may have available.
| 2023-02-14 | perl v5.36.0 |