From: | Kris Jurka <books(at)ejurka(dot)com> |
---|---|
To: | Thomas Kellerer <spam_eater(at)gmx(dot)net> |
Cc: | pgsql-jdbc(at)postgresql(dot)org |
Subject: | Re: Inserting into a uuid column |
Date: | 2009-03-03 21:13:56 |
Message-ID: | Pine.BSO.4.64.0903031610590.4533@leary.csoft.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | 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
From | Date | Subject | |
---|---|---|---|
Next Message | Thomas Kellerer | 2009-03-03 22:01:16 | Re: Inserting into a uuid column |
Previous Message | Thomas Kellerer | 2009-03-03 21:07:38 | Inserting into a uuid column |