Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Дата обновления - аналог mysql ON UPDATE CURRENT_TIMESTAMP / 10 сообщений из 10, страница 1 из 1
05.09.2014, 16:25:24
    #38738843
Hacker-CB
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дата обновления - аналог mysql ON UPDATE CURRENT_TIMESTAMP
Коллеги, привествую.

Кто знает, есть ли postgres аналог mysql "ON UPDATE CURRENT_TIMESTAMP"
Триггеры не предлагать.

Код: sql
1.
2.
3.
4.
5.
6.
CREATE TABLE IF NOT EXISTS `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) COLLATE utf8_bin NOT NULL,
  `last_modified` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=2 ;
...
Рейтинг: 0 / 0
05.09.2014, 17:09:30
    #38738897
vyegorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дата обновления - аналог mysql ON UPDATE CURRENT_TIMESTAMP
Hacker-CB,

Код: sql
1.
2.
3.
4.
5.
CREATE TABLE "user" (
  id            serial       NOT NULL PRIMARY KEY,
  name          varchar(255) NOT NULL,
  last_modified timestamptz  NOT NULL DEFAULT now()
);


COLLATION (как по-русски правильно?) в PostgreSQL берется из локалей операционки, я не знаю что соответствует `utf8_bin`.
...
Рейтинг: 0 / 0
05.09.2014, 17:11:58
    #38738899
Hacker-CB
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дата обновления - аналог mysql ON UPDATE CURRENT_TIMESTAMP
vyegorov,

Эта конструкция запишет дату только при добавлении. При изменении записи дата не измениться.
...
Рейтинг: 0 / 0
05.09.2014, 17:17:11
    #38738907
qwwq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дата обновления - аналог mysql ON UPDATE CURRENT_TIMESTAMP
Hacker-CBКоллеги, привествую.
тамбовский волк тебе коллега
Hacker-CBТриггеры не предлагать.
"накуй -- вооон туда*"(сс)

/*можешь, в частности, рульца соснуть, пока его не оключили совсем. (RTFM "RULE")
...
Рейтинг: 0 / 0
05.09.2014, 17:19:34
    #38738909
Hacker-CB
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дата обновления - аналог mysql ON UPDATE CURRENT_TIMESTAMP
qwwq,

Про рульца я в курсе, но это тоже некоторые усложнения. Простого способа видимо нет.
Спасибо.
...
Рейтинг: 0 / 0
05.09.2014, 17:22:32
    #38738915
Dim666
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дата обновления - аналог mysql ON UPDATE CURRENT_TIMESTAMP
Hacker-CB,

триггер "BEFORE UPDATE" можете создать, в котором написать "NEW.last_modified = now();"
...
Рейтинг: 0 / 0
05.09.2014, 17:28:18
    #38738923
Hacker-CB
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дата обновления - аналог mysql ON UPDATE CURRENT_TIMESTAMP
Dim666,

Да, это понятно. Можно там же провериьт на изменение и выставлять дату изменения только в случае изменения.
Я думал может кто знает более "лайтовый" способ...
...
Рейтинг: 0 / 0
05.09.2014, 18:25:06
    #38738971
daevy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дата обновления - аналог mysql ON UPDATE CURRENT_TIMESTAMP
Hacker-CB,

так не пойдет?

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
# create table ctime (id serial primary key, name text, updated_at timestamptz not null default now());
# insert into ctime (name) values ('vasya'),('petya'),('masha');
# update ctime set name = 'katya', updated_at = default where id = 1;
# select * from ctime;
 id | name  |          updated_at           
----+-------+-------------------------------
  2 | petya | 2014-09-05 20:21:10.027833+06
  3 | masha | 2014-09-05 20:21:10.027833+06
  1 | katya | 2014-09-05 20:21:58.417235+06
...
Рейтинг: 0 / 0
05.09.2014, 19:18:35
    #38739022
Hacker-CB
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дата обновления - аналог mysql ON UPDATE CURRENT_TIMESTAMP
daevy,

это на стороне клиента нужно делать, а клиенты разные, на разных языках программирования в разных местах.
...
Рейтинг: 0 / 0
07.09.2014, 09:44:08
    #38739667
vromanov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дата обновления - аналог mysql ON UPDATE CURRENT_TIMESTAMP
Вот тут станвится понятно, что давать клиентам общаться с базой напрямую не есть хорошо.
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Дата обновления - аналог mysql ON UPDATE CURRENT_TIMESTAMP / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]