Re: Inserting into a uuid column
От | Thomas Kellerer |
---|---|
Тема | Re: Inserting into a uuid column |
Дата | |
Msg-id | gok9b9$p4v$1@ger.gmane.org обсуждение исходный текст |
Ответ на | Re: Inserting into a uuid column (Kris Jurka <books@ejurka.com>) |
Ответы |
Re: Inserting into a uuid column
Re: Inserting into a uuid column |
Список | pgsql-jdbc |
Kris Jurka wrote on 03.03.2009 22:13: > 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. The problem is that this is a generic import tool, but I'll see what I can do. >> 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. No I'm not using setString() in that example. The Java code would be: Statement stmt = connection.createStatement(); stmt.executeUpdate("INSERT INTO my_table (guid_column) " + " VALUES ('a0eebc999c0b4ef8bb6d6bb9bd380a11')"); So it's passing a literal and is not using a PreparedStatement The Javadocs of setObject(int, Object) say: "The given argument will be converted to the corresponding SQL type before being sent to the database" So I was expecting that the driver will be able to do the same conversion with the PreparedStatement as it is obviously happening when using a literal (though that conversion probably takes place on the server not in the driver). Regards Thomas
В списке pgsql-jdbc по дате отправления: