Re: Default timestamp value
От | Jeff Hoffmann |
---|---|
Тема | Re: Default timestamp value |
Дата | |
Msg-id | 393BCCC6.7D394758@propertykey.com обсуждение исходный текст |
Ответ на | Default timestamp value ("Rob S." <rslifka@home.com>) |
Список | pgsql-sql |
Tom Lane wrote: > > "Rob S." <rslifka@home.com> writes: > > ...but I still don't see how to have the default value of a timestamp to be > > the time at which the individual record is inserted. I just get the time I > > created the table. > Versions before 7.0 are not entirely consistent about this, but I > believe the explicit function call now() will work the way you want > in any version. you can also use the value CURRENT_TIMESTAMP, which is standard SQL. you have to be careful about using 'now' as a default, though. i have a tendancy to put type qualifications on most of the things i write ever since i had problems with getting an index to be used on an int2 field. the key to the faq is that you can't put a type qualification after the 'now', otherwise it won't work. so in 7.0, if you create a table like any of these: create table foo (f1 int, f2 timestamp default now()); create table foo (f1 int, f2 timestamp default 'now'); create table foo (f1 int, f2 timestamp default CURRENT_TIMESTAMP); it will work. if you do it like this, it won't: create table foo (f1 int, f2 timestamp default 'now'::datetime); create table foo (f1 int, f2 timestamp default 'now'::timestamp); it will give you the time that the table was created. it's just a little gotcha that might frustrate people in a similar situation. jeff
В списке pgsql-sql по дате отправления: