跟踪谁更改了mysql中的字段

时间:2013-04-12 11:28:32

标签: mysql

是否可以判断数据库中的特定字段是否由mysql中的特定用户名更新?

示例:

DBNumber1包含contactsTable。 contactsTable包含firstName,lastName,phoneNumber。

UserA(db account)创建一条记录(id = 102)。该记录的每个字段都是“他最后更新”的日期和时间。 UserB更新该记录(102)。他换了一个错误的电话号码。 firstName和lastName应为“UserA在日期+时间上最后更新”,phoneNumber应为“UserB在不同日期+时间最后更新。”

到目前为止,我已经完成了向最后更新的数据库添加一列,但我希望这是针对每个字段,而不仅仅是记录。这可能吗?

2 个答案:

答案 0 :(得分:1)

创建在更新时执行的触发器。让它比较旧值和新值并采取行动,例如在单独的“日志记录”表中插入用户名和当前时间,行ID等事务数据。

答案 1 :(得分:0)

我几乎可以肯定Mysql没有意识到这一点。您可以做的是为要保留记录的每列添加last_updated列。或者打开二进制日志(如果需要非自动日志记录,则需要检查日志是否包含用户名,我猜他们会这样做)。但是,从那里获取数据将涉及相当多的工作(相对),所以只有当你时才需要它。