MYSQL触发器使用currenttimestamp更新表字段

时间:2018-09-27 08:06:15

标签: mysql

我在mysql数据库中有3个表。数据库引擎使用了innoDB。

  • 人(id,姓名,创建的时间记录,更新的时间记录)
  • person_status(ID,人,status_msg,创建时间)
  • status_msg(id,status_msg)
为person和person_status定义了1对多的关系。 为status_msg和person_status定义了1对多的关系。

我正在person_status表中记录一个人的状态更改历史记录。状态可以是待定,已验证,活动,已暂停。每次状态更改时,都会使用当前时间戳在person_status表中创建新条目。

在MYSQL中,是否可以创建一个触发器,以便每次在person_status表中为person X创建新条目时,也将使用person的person表中的当前时间戳更新time_record_updated?

非常感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

如果我理解正确,那么这就是您要寻找的东西:

CREATE TRIGGER test AFTER INSERT ON person_status
 FOR EACH ROW BEGIN
UPDATE person SET time_record_updated=CURRENT_TIMESTAMP WHERE id = NEW.person;
END