Could it be as simple as:
$sth = $dbh->prepare("INSERT INTO table (row1, row2) VALUES (?, ?)");
if ( $webinput eq "" ) { $webinput = undef ; }
$sth->execute($webinput, $otherstuff);
I don't have Postgres here to test on, but inserting an undef should
translate to a NULL on most any DBD.
Regards,
Daniel.
----- Original Message -----
From: "David Wheeler" <david@wheeler.net>
To: <pgsql-general@postgresql.org>
Cc: <dbi-users@perl.org>
Sent: Wednesday, March 14, 2001 2:26 PM
Subject: NULL vs. Empty String
Hi All,
Apologies for cross-posting.
I've ported a mod_perl application from Oracle to PosgreSQL, but have run
into a difference that's significant for web work. When I get a form field
submitted, if it's empty, mod_perl assumes it to be an empty string ('').
When I inserted empty strings into Oracle tables, Oracle assumed they were
NULL and inserted them as such. Postgres, OTOH, seems to insert it as an
empty string instead. While I realize that the Posgres interpretation is
perhaps the more precise of the two, it was a feature of Oracle that I
rather liked.
Is there a way to get Posgres to assume that a '' insert should be a NULL
insert? And if not, does anyone know of a way to get mod_perl to make that
assumption instead?
TIA,
David