设置上次修改和添加日期记录的字段的最佳方法是什么?

Chi*_*hin 7 mysql

嗨,我想设置并忘记两个字段,用于跟踪添加记录的日期,以及记录在mySQL数据库中最后修改的日期.

我正在使用"ON UPDATE CURRENT_TIMESTAMP"并希望我只是将UPDATE更改为INSERT.

然而,没有运气.任何人都可以给我提供最好的方法来实现这一目标吗? - 最好在数据库本身内部.

Way*_*ker 11

假设MySQL 5.只需添加两个触发器:

create table foo (a1 INT, created timestamp, updated timestamp) engine=innodb;

DELIMITER |

CREATE TRIGGER foo_created BEFORE INSERT ON foo
FOR EACH ROW BEGIN
SET new.created := now();
SET new.updated := now();
END;

|

CREATE TRIGGER foo_updated BEFORE UPDATE ON foo
FOR EACH ROW BEGIN
SET new.updated := now();
END;
|

DELIMITER     ;

insert into foo (a1) values(7);
select * from foo;

update foo set a1=9;
Run Code Online (Sandbox Code Playgroud)


小智 0

mySQL 有一个您可以使用的 NOW() 函数,请参阅教程点上的教程,它可以帮助您将其放置到位。