Re: Inserting into a uuid column - Mailing list pgsql-jdbc

From Kris Jurka
Subject Re: Inserting into a uuid column
Date
Msg-id Pine.BSO.4.64.0903031610590.4533@leary.csoft.net
Whole thread Raw
In response to Inserting into a uuid column  (Thomas Kellerer <spam_eater@gmx.net>)
Responses Re: Inserting into a uuid column
List pgsql-jdbc

On Tue, 3 Mar 2009, Thomas Kellerer wrote:

> I have a table with a column of type UUID and I would like to import data
> into that table.
>
> I'm using a Java based import tool that will use a PreparedStatement and
> setObject() (passing a String variable) to insert the data.
>
> "ERROR: column "guid" is of type uuid but expression is of type character
> varying"

You should use setObject(<column>, <string value>, Types.OTHER) to
indicate that while you are passing a String, you aren't expecting the
server type to be a string datatype.

Alternatively, you can use the 8.4dev JDBC4 driver and issue:

setObject(<column>, <java.util.UUID object>);

> What I don't understand is that doing an insert with a character literal:
>
> INSERT INTO my_table (guid_column, ...)
> VALUES
> ('a0eebc999c0b4ef8bb6d6bb9bd380a11', ...)

Here you aren't providing any specific type information, just a literal.
By saying setString or setObject with a String parameter you are saying
that it really is a String.

Kris Jurka

pgsql-jdbc by date:

Previous
From: Thomas Kellerer
Date:
Subject: Inserting into a uuid column
Next
From: Thomas Kellerer
Date:
Subject: Re: Inserting into a uuid column