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 по дате отправления: