Re: [SQL] Problems with default date and time

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: [SQL] Problems with default date and time
Дата
Msg-id 4539.934556545@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: [SQL] Problems with default date and time  (Patrik Kudo <kudo@partitur.se>)
Список pgsql-sql
Patrik Kudo <kudo@partitur.se> writes:
>> "Hutton, Rob" wrote:
>> 
>> I have created a table with date and time fields by using what I
>> read as being the correct default statements, but I get the date and
>> time the DB was created at each insert instead of the current date and
>> time.
>> | ord_time                         | time default text 'now'
>> |     8 |
>> | ord_date                         | date default text 'now'
>> |     4 |
>> | ord_timestamp                    | timestamp default text 'now'
>> |     4 |

> You should not use 'now'. It will be replaced with the current time.
> Instead use now() and remove "text".

The "default text 'now'" hack doesn't work with TIMESTAMP columns, only
with DATETIME columns --- this was reported last month.  I forget the
details but I think it is triggered by the presence of slightly
different sets of datatype conversion routines for the two types in the
system tables, leading to a different path being taken that evaluates
the default clause's value when it should not.  Probably a default of
"now()" would fail for the same reason.  Fixing this is on the TODO
list, but I do not think it is a trivial fix.

In the meantime, I suggest using a DATETIME column --- or two of them,
if you need the ability to record two different dates/times.
        regards, tom lane


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

Предыдущее
От: Patrik Kudo
Дата:
Сообщение: Re: [SQL] Problems with default date and time
Следующее
От: "Mike Field"
Дата:
Сообщение: Multiple values for a field