Re: Serial data type

Поиск
Список
Период
Сортировка
От Kris Jurka
Тема Re: Serial data type
Дата
Msg-id Pine.BSO.4.64.0711300556200.17875@leary.csoft.net
обсуждение исходный текст
Ответ на Serial data type  ("Christian Rengstl" <Christian.Rengstl@klinik.uni-regensburg.de>)
Список pgsql-jdbc

On Fri, 30 Nov 2007, Christian Rengstl wrote:

> in my Java app at certain points INSERT queries are built dynamically,
> but now i am facing a problem when the target table contains a SERIAL
> field where NULL values are not allowed. Therefore I have two questions:
>
> 1) How can I find out if there is a serial field in a table, as
> getColumnType() in ResultSetMetaData does not return a field indicating
> SERIAL as far as I could see?

getColumnType returns a value from java.sql.Types, which doesn't have
SERIAL so there is no way to return it.
ResultSetMetaData.getColumnTypeName() should probably return serial, but
it doesn't at the moment.  ResultSetMetaData.isAutoIncrement() will work
as will DatabaseMetaData.getColumns().

> 2) Why does it not work to issue a query like INSERT INTO
> x(serial_field) VALUES(NULL) as the default of the "serial_field" is
> nextval() anyway?
>

When you've explicitly supplied a value (NULL in this case) the default is
not used.  Otherwise there would be no way to set a column to NULL that
had a default value.

Kris Jurka

В списке pgsql-jdbc по дате отправления:

Предыдущее
От: "Christian Rengstl"
Дата:
Сообщение: Serial data type
Следующее
От: Christian Schröder
Дата:
Сообщение: Re: Serial data type