On Thu, 2002-05-16 at 16:55, Kevin O wrote:
> Hello all,
>
> I need to insert a lot of data into a mysql table. Know that I can do it
> like this example:
>
>
>
> my $sth = $dbh->prepare(q{
> INSERT INTO sales (product_code, qty, price) VALUES (?, ?, ?)
> }) or die $dbh->errstr;
> while (<>) {
> chomp;
> my ($product_code, $qty, $price) = split /,/;
> $sth->execute($product_code, $qty, $price) or die $dbh->errstr;
> }
> $dbh->commit or die $dbh->errstr;
>
>
> My problem is, I have 500 fields. I know I can start the Insert statement
> like INSERT INTO mytable VALUES - cause I'm inserting a value for every
> field in the database, but do I have to type a "?" for all 500 fields? BTW,
> I'm just feeding execute with an array of values, like above.
>
> Any help is appreciated,
> Kevin
while (<>) {
chomp;
my $query = "INSERT INTO sales(";
$query .= $dbh->quote($_) . ',' for split /,/;
$query =~ s/,$/)/;
$dbh->do($query) or die $dbh->errstr;
}
$dbh->commit or die $dbh->errstr;
--
Today is Sweetmorn the 63rd day of Discord in the YOLD 3168
Fnord.
Missile Address: 33:48:3.521N 84:23:34.786W
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]