Re: I was spoiled by the MySQL timestamp field

Поиск
Список
Период
Сортировка
От Luke Pascoe
Тема Re: I was spoiled by the MySQL timestamp field
Дата
Msg-id 01a101c2c321$fcb172e0$3200000a@K2
обсуждение исходный текст
Ответ на Re: tsearch comments  (Oleg Bartunov <oleg@sai.msu.su>)
Ответы Re: I was spoiled by the MySQL timestamp field  (will trillich <will@serensoft.com>)
Список pgsql-general
Why not just use a DEFAULT NOW()?
ie:
    CREATE TABLE blah (
        time    TIMESTAMP NOT NULL DEFAULT NOW()
        );

I know it works for DATETIME types, don't know about TIMESTAMP but I assume
it would be the same.

Luke.

----- Original Message -----
From: "will trillich" <will@serensoft.com>
To: <pgsql-general@postgresql.org>
Sent: Friday, January 24, 2003 7:13 AM
Subject: Re: [GENERAL] I was spoiled by the MySQL timestamp field


> On Thu, Jan 23, 2003 at 04:26:31AM -0800, Alan T. Miller wrote:
> > As someone who is just getting started with PostygreSQL from
> > years working with MySQL, it appears that the timestamp data
> > type does not behave in the way it did with MySQL. I got used
> > to just defining a column as a timestamp and letting the
> > database throw the latest time stamp in there whenever a row
> > was updated. Is there anything simular in PosgreSQL? How can I
> > accomplish something simular inside the database, or am I stuck
> > populating the field in some manner as in the following example
> >
> > update blah blah blah timestamp = NOW()
>
> triggers or rules can do that with any timestamp (or timestamp(0)
> -- no partial-seconds) field. here's a "rules" approach:
>
> create table _something (
> id serial,
> dat text,
> freshened timestamp(0),
> primary key ( id )
> );
>
> create view something as
> select
> id,
> dat,
> freshened
> from
> _something;
>
> create rule something_add as
> on insert to something
> do instead (
> insert into _something (
> --id,
> dat,
> freshened
> ) values (
> --let id take care of itself,
> NEW.dat,
> current_timestamp
> );
> );
>
> create rule something_edit as
> on update to something
> do instead (
> update _something set
> --id = leave it alone,
> dat  = NEW.dat,
> freshened = current_timestamp
> where
> id   = NEW.id
> ;
> );
>
> then you can just
>
> insert into something (dat) values ('yada yada');
> update something set dat = 'here we go' where id = 23978;
>
> and "freshened" takes care of itself.
>
> --
> There are 10 kinds of people:
> ones that get binary, and ones that don't.
>
> will@serensoft.com
> http://sourceforge.net/projects/newbiedoc -- we need your brain!
> http://www.dontUthink.com/ -- your brain needs us!
>
> Looking for a firewall? Do you think smoothwall sucks? You're
> probably right... Try the folks at http://clarkconnect.org/ !
>
> ---------------------------(end of broadcast)---------------------------
> TIP 5: Have you checked our extensive FAQ?
>
> http://www.postgresql.org/users-lounge/docs/faq.html
>
>



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

Предыдущее
От: Bill Colls
Дата:
Сообщение: Last Committed Transaction
Следующее
От: "codeWarrior"
Дата:
Сообщение: Re: DBD::Pg & DBD::PgPP Cpan question