Java Audit表日志记录,MySQL相当于CONTEXT_INFO

时间:2010-03-31 10:51:24

标签: java mysql database logging audit

我正在寻找SQL Server中存在的MySQL等效的CONTEXT_INFO。或任何其他会话变量,如我可以将用户名传递给触发器的东西。

我目前正致力于记录表数据以进行审核。我需要将登录用户的用户名传递给删除触发器。

有什么想法吗?我们在一些情况下删除表中的行,并在其他情况下将它们标记为已删除。

欢迎任何其他解决方案。我想过使用AOP但是在删除级联时可能会出现问题。我想研究一下Hibernate拦截器,目前还不确定是否有效。

如果我能找到相当于CONTEXT_INFO的MySQL,那么我的工作也很完美。

谢谢,

朱莉娅。

1 个答案:

答案 0 :(得分:1)

您应该能够使用USER()函数获取当前用户。 See the doc了解详情。


好的,我不太明白你在问什么。我想你可能想看看MySQL's support for connection-level user variables。基本上,在将运行UPDATE / INSERT / DELETE但在实际查询运行之前的连接中,您需要运行set语句SET @user = 'my_user_id'。然后,您应该能够在触发器中使用@user作为用户。