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