如何在MySQL中记录行插入和更新的用户名和时间戳?

时间:2015-11-10 15:50:04

标签: mysql

我想记录最后一个用户以及上次在MySQL表中插入或更新特定行的时间。最好的方法是什么?是否有一些MySQL元数据我可以调查或者我需要自己创建用户名和时间戳列,然后创建触发器来填充它们?

3 个答案:

答案 0 :(得分:1)

您需要自己为时间戳和用户名创建单独的列。对于时间戳,不需要使用触发器来更新其值,只需声明时间戳字段以使用当前时间戳作为初始值并更新值:

CREATE TABLE t1 (
  ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);

用户更有趣。如果您正在谈论mysql级别用户,那么是,使用USER()函数使用触发器或存储过程。如果您正在谈论应用程序级用户,那么我将提供该用户名作为更新声明的一部分。

UPDATE table SET username='xxx', ... WHERE ...

答案 1 :(得分:0)

  • 您可以使用列并将其设置为插入
  • 的默认系统日期
  • 要进行更新,您必须使用触发器等。

答案 2 :(得分:0)

至少在MySQL 5.5.46中,您可以跟踪表格。这包括结构和数据。在那里,记录了DB用户名和时间戳。