Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer
 
PerlMonks  

inserting enum column into mysql from Perl program

by baperl (Sexton)
on Sep 25, 2011 at 22:04 UTC ( [id://927771]=perlquestion: print w/replies, xml ) Need Help??

baperl has asked for the wisdom of the Perl Monks concerning the following question:

hi, I am trying to execute the following command in my Perl program
my $ins_rec = "INSERT INTO $tbl_name (col1, col2, col3, col4, col5, co +l6, col7) VALUES (?,?,?,?,?,?,?);"; $sth=$dbh->prepare($ins_rec) or die $dbh->errstr; $sth->execute($col1, $col2, $col3, $col4, $col5, $col6, $col7) or die +$sth->errstr;
in my table, col7 is described as
col7 ENUM('N','Y') NOT NULL DEFAULT 'N'
however, when I execute the program, I get the following error:
Global symbol "$col7" requires explicit package name at test.pl line 9 +6. Execution of test.pl aborted due to compilation errors.
of course, when I remove col7, my program works fine. So, how do I fix the statement so I can insert col7 into my table. thanks!

Replies are listed 'Best First'.
Re: inserting enum column into mysql from Perl program
by onelesd (Pilgrim) on Sep 25, 2011 at 22:19 UTC

    This means you never declared nor defined $col7. The following is missing from your code:

    my $col7 ;

    Note that $col7 will remain undefined until you set it to something else. DBI will treat undef as NULL while executing SQL statements.

      understood....yes indeed, I had not...let me fix that and see if it works ... thx!
        thanks, I fixed that and it works:-)

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlquestion [id://927771]
Approved by ww
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others about the Monastery: (4)
As of 2024-04-19 22:56 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found