Действие PHP / MYSQL в обновленном поле - PullRequest
0 голосов
/ 05 июня 2011

У меня небольшая проблема, мне нужно создать отчет, который фокусируется на изменениях в определенных полях базы данных.Я рассчитывал сделать что-то вроде

«Если обновлено, вставить сегодняшнюю дату в отдельное поле»

, таким образом, когда я генерирую отчет, я могу проверить, какие записи были измененыпроверяя дату.

Проблема в том, что я не уверен, как это сделать с php / codeigniter

Спасибо за советы!

1 Ответ

3 голосов
/ 05 июня 2011

Вы можете добавить поле временной метки в структуру таблицы.

your_field timestamp default current_timestamp on update current_timestamp

Ознакомьтесь с руководством по доступному синтаксису

http://dev.mysql.com/doc/refman/5.0/en/timestamp.html

edit.Если вам нужно обновлять время только при изменении определенных полей, то вам нужен триггер.

create table test (
id int not null auto_increment primary key,
field1 int,
field2 int,
field3 int,
last_update datetime)
engine = myisam;


delimiter //
drop trigger if exists update_time //
create trigger update_time before update on test
for each row begin
    if new.field2 <> old.field2 or new.field3 <> old.field3 then
        set new.last_update = now();
    end if;
end //
delimiter ;

В моем примере поле last_update будет обновляться с текущим временем только в случае изменения поля 2 или 3.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...