NULL values returning as empty string

"Larry Low" <[email protected]> Tue, 23 Oct 2007 09:59:24 -0700
Newsgroups gmane.comp.db.mysql.perl
Message-ID <00a001c81596$105fa340$311ee9c0$@com>
I am unable to figure out why but NULL values which from what I read should
be undefined are being defined.  See the example below for the column
thold_hi which shows as NULL in the database but the reference
$row->{'thold_hi'} being defined.

I am running mysql 5.0.22 and DBI 1.58.

Example:

my $sql = "SELECT t.lastread,t.thold_hi,t.thold_low,thold_alert,bl_alert
FROM host h LEFT JOIN data_local dl ON h.id=dl.host_id LEFT JOIN
data_template_rrd dr ON dr.local_data_id=dl.id LEFT JOIN thold_data t ON
t.data_id=dr.id WHERE h.description='something' AND
dr.data_source_name='hdd_free'";

my $sth = $dbh->prepare($sql);
$sth->execute();
my $row = $sth->fetchrow_hasref();

if (!defined($row->{'thold_hi'})) {
	print "Not Defined\n";
} else {
	print "Defined\n";
}


mysql> SELECT t.lastread,t.thold_hi,t.thold_low,thold_alert,bl_alert FROM
host
h LEFT JOIN data_local dl ON h.id=dl.host_id LEFT JOIN data_template_rrd dr
ON
dr.local_data_id=dl.id LEFT JOIN thold_data t ON t.data_id=dr.id WHERE
h.description='something' AND dr.data_source_name='hdd_free';
+----------+----------+-----------+-------------+----------+
| lastread | thold_hi | thold_low | thold_alert | bl_alert |
+----------+----------+-----------+-------------+----------+
| 24997856 | NULL     | 25000000  |           1 |        0 | 
+----------+----------+-----------+-------------+----------+
1 row in set (0.00 sec)


----
Larry Low
4150 N Drinkwater Blvd., 5th Floor
Scottsdale, AZ  85251
E-mail: [email protected]'

Telesphere Networks, Inc




-- 
MySQL Perl Mailing List
For list archives: http://lists.mysql.com/perl
To unsubscribe:    http://lists.mysql.com/[email protected]