Re: Inserting into a uuid column
| От | Kris Jurka | 
|---|---|
| Тема | Re: Inserting into a uuid column | 
| Дата | |
| Msg-id | Pine.BSO.4.64.0903031610590.4533@leary.csoft.net обсуждение исходный текст | 
| Ответ на | Inserting into a uuid column (Thomas Kellerer <spam_eater@gmx.net>) | 
| Ответы | Re: Inserting into a uuid column | 
| Список | 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 по дате отправления: