Re: UPDATE statements causing me grief!

Eirik Toft <[email protected]>
Newsgroups gmane.comp.lang.perl.modules.dbi.general
Organization http://groups.google.com
Message-ID <07d793a5-aa6e-4f6f-9216-bd4212bad4b1@fx14g2000vbb.googlegroups.com>
On Oct 7, 1:59 am, [email protected] (Martin Hall) wrote:
> Just a thought - but how are you checking the update?  Just after the
> statement in the same Perl code or in a separate session?
>
> Cheers
>
> Martin
>
> On 06/10/2011 23:04, Eirik Toft wrote:
>
>
>
>
>
>
>
>
>
> > Greetings, been a DBI user for years now working with stuff from
> > unixODBC, Oracle, MySQL, etc...etc...
>
> > So, the issue I'm having is with a simple update statement to a mysql
> > database.
>
> > Here's a small snippet of code....
>
> > my $MAPSQL="UPDATE varmaptest SET value=? WHERE grpid=(SELECT id FROM
> > machinegroups WHERE name=?) AND varid=(SELECT id FROM variables WHERE
> > name=?)";
>
> > my $DBUSER="user";
> > my $DBPASS="password";
> > my $SQLDS="dbi:mysql:database=$CADB;host=databasehost";
>
> > my $dbh = DBI->connect($SQLDS,$DBUSER,$DBPASS);
>
> > my $sth = $dbh->prepare($MAPSQL);
> > unless ($sth->execute("newval","group1.mygroup.mine","varname1")) {
> >     warn "Database error: ".$dbh->errstr;
> > }
>
> > So, for some reason, the update never happens, and I get no errors. I
> > have enabled SQL tracing and from the output, I get the following
> > statement:
>
> > UPDATE varmaptest SET value='newval' WHERE grpid=(SELECT id FROM
> > machinegroups WHERE name='group1.mygroup.mine') AND varid=(SELECT id
> > FROM variables WHERE name='varname1');
>
> > Now, if I actually run the mysql client, and paste this statement into
> > it and execute it, it works perfectly.
>
> > I'm using perl 5.10.1, mysql database version 5.1.49, DBI version
> > 1.612.
>
> > On a side note, because I know someone is going to ask, I use the same
> > database handle ($dbh) on other SELECT statements and they all return
> > data fine (so it's not a database connectivity issue).
>
> > Does anyone have any ideas, or at least can give me a good kick in the
> > head as to where I should look next?
>
> > Thanks in advance;
>
> > Eirik..
>
> --

Actually, I'm checking both - using the same Perl code, and also in a
separate mysql session.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.