【发布时间】:2011-06-05 17:35:30
【问题描述】:
我遇到了一个小问题,我需要生成一份报告,重点关注数据库中某些字段的更改。我想做什么,是这样的
“如果已更新,请在单独的字段中插入今天的日期”
这样,当我生成报告时,我可以通过检查日期来验证哪些条目已被修改。
问题是,我不确定如何使用 php/codeigniter 来做到这一点
感谢您的提示!
【问题讨论】:
标签: php mysql codeigniter if-statement
我遇到了一个小问题,我需要生成一份报告,重点关注数据库中某些字段的更改。我想做什么,是这样的
“如果已更新,请在单独的字段中插入今天的日期”
这样,当我生成报告时,我可以通过检查日期来验证哪些条目已被修改。
问题是,我不确定如何使用 php/codeigniter 来做到这一点
感谢您的提示!
【问题讨论】:
标签: php mysql codeigniter if-statement
您可以在表结构中添加时间戳字段
your_field timestamp default current_timestamp on update current_timestamp
查看手册了解可用语法
http://dev.mysql.com/doc/refman/5.0/en/timestamp.html
编辑。 如果仅在特定字段发生更改时才需要更新时间,则需要触发器。
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 ;
在我的示例中,只有当 field2 或 field3 发生变化时,last_update 字段才会更新为当前时间。
【讨论】: