Nik Belajcic wrote:
This may be a silly question, but I am wondering if there is something opposite to:
@row = $sth->fetchrow_array
In other words, instead of fetching rows from MySQL and loading them
into an array that can be accessed from Perl, I want to do the opposite
- take a Perl (associative) array and load it into MySQL table.
I know I could dump it into a text file and read it from there, but
assuming I do not want to go through this intermediary step, how could I
do it?
Any suggestions appreciated.
No there is not, but I urge to to implement it :)
You can do something like:
my %record; # Your record in memory you want in the table. It obviously needs to be filled
my $sql_1; my $sql_2; my $sql_3; my $tablename = "MyTable"; # TODO: Set this another way?
foreach my $key (keys %record) { $sql_1 .= "$key, "; $sql_2 .= "?, "; $sql_3 .= %record{$key} . ", "; }
# Chop off the trailing comma and space $sql_1 = substr($sql_1, 0, length($sql_1)-2); $sql_2 = substr($sql_2, 0, length($sql_2)-2); $sql_3 = substr($sql_3, 0, length($sql_3)-2);
my $sth = $dbh->prepare("insert into $tablename ( $sql_1 ) values ( $sql_2 )");
$sth->execute($sql_3);
CAUTIONARY NOTE!!!!!!
I'm just learning Perl myself. The above code is NOT tested. But you should be able to get the idea anyway :)
-- Daniel Kasak IT Developer NUS Consulting Group Level 5, 77 Pacific Highway North Sydney, NSW, Australia 2060 T: (+61) 2 9922-7676 / F: (+61) 2 9922 7989 email: [EMAIL PROTECTED] website: http://www.nusconsulting.com.au
-- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]