Thread: how do i insert an empty string ?

how do i insert an empty string ?

From
"Peter Galbavy"
Date:
FAQ: A search yielded nothing explicit...

I have an INSERT statement:

INSERT INTO metadata (md5, origin, name, value)             VALUES ('fd859f263bd0579935f2146a22d24f32', 'EXIF',
'UserComment', '')

but this fails (using Perl DBI, DBD::Pg) because $dbh->quote() returns two
single quotes, which fails because something along the way thinks this is a
single quote. I do NOT want to insert a NULL but an empty string...

(This is either doing a $dbh->do(...) or a prepare ... execute without
$dbh->quote())

Peter



Re: how do i insert an empty string ?

From
"Peter Galbavy"
Date:
Sorry: 7.3 beta 2 on OpenBSD 3.2

Peter
----- Original Message -----
From: "Peter Galbavy" <peter.galbavy@knowtion.net>
To: <pgsql-sql@postgresql.org>
Sent: Tuesday, October 15, 2002 11:01 AM
Subject: [SQL] how do i insert an empty string ?


> FAQ: A search yielded nothing explicit...
>
> I have an INSERT statement:
>
> INSERT INTO metadata (md5, origin, name, value)
>               VALUES ('fd859f263bd0579935f2146a22d24f32', 'EXIF',
> 'UserComment', '')
>
> but this fails (using Perl DBI, DBD::Pg) because $dbh->quote() returns two
> single quotes, which fails because something along the way thinks this is
a
> single quote. I do NOT want to insert a NULL but an empty string...
>
> (This is either doing a $dbh->do(...) or a prepare ... execute without
> $dbh->quote())
>
> Peter
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org
>



Re: IGNORE ME how do i insert an empty string ?

From
"Peter Galbavy"
Date:
Please ignore me for now. The string is NOT empty, but full of NUL
characters. My bad for not using 'less' to view the output...

Peter

----- Original Message -----
From: "Peter Galbavy" <peter.galbavy@knowtion.net>
To: <pgsql-sql@postgresql.org>
Sent: Tuesday, October 15, 2002 11:01 AM
Subject: [SQL] how do i insert an empty string ?


> FAQ: A search yielded nothing explicit...
>
> I have an INSERT statement:
>
> INSERT INTO metadata (md5, origin, name, value)
>               VALUES ('fd859f263bd0579935f2146a22d24f32', 'EXIF',
> 'UserComment', '')
>
> but this fails (using Perl DBI, DBD::Pg) because $dbh->quote() returns two
> single quotes, which fails because something along the way thinks this is
a
> single quote. I do NOT want to insert a NULL but an empty string...
>
> (This is either doing a $dbh->do(...) or a prepare ... execute without
> $dbh->quote())
>
> Peter
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org
>



Re: how do i insert an empty string ?

From
Jeff
Date:
On Tue, 15 Oct 2002, Peter Galbavy wrote:

> FAQ: A search yielded nothing explicit...
>
> I have an INSERT statement:
>
> INSERT INTO metadata (md5, origin, name, value)
>               VALUES ('fd859f263bd0579935f2146a22d24f32', 'EXIF',
> 'UserComment', '')
>
> but this fails (using Perl DBI, DBD::Pg) because $dbh->quote() returns two

Since you are using DBI, why not bind the variables and be done with it?

this would become
$query = $db->prepare("INSERT INTO metadata (md5, origin, name, value)
VALUES (?, ?, ?, ?)");
$query->execute($md5, $origin, $name, $value);

This way you don't have to deal with double quoting and all that. (You can
also call bind_param, but I find it easier to just pass args into execute)

------------------------------------------------------------------------------
Jeff Trout <jeff@jefftrout.com>                  http://www.jefftrout.com/  Ronald McDonald, with the help of cheese
soup,     controls America from a secret volkswagon hidden in the past
 
-------------------------------------------------------------------------------