Java审计表日志记录,等同于MySQL的CONTEXT_INFO
问题描述:
我正在寻找SQL Server中存在的等同于CONTEXT_INFO的MySQL。或者其他会话变量,比如使用我可以将用户名传递给触发器的东西。Java审计表日志记录,等同于MySQL的CONTEXT_INFO
我目前正在为审计记录表数据。我需要将登录用户的用户名传递给删除触发器。
任何想法?我们在几种情况下删除表中的行,并将其标记为已删除。
欢迎任何替代解决方案。我想过使用AOP,但删除级联时可能会出现问题。我想研究一下Hibernate拦截器,不确定此时是否可行。
如果我可以找到CONTEXT_INFO的MySQL等价物,我的工作也很完善。
谢谢,
朱莉娅。
答
您应该能够通过USER()函数获取当前用户。 See the doc了解详情。
好的,我不太明白你在问什么。我想你可能想看看MySQL's support for connection-level user variables。基本上,在将运行UPDATE/INSERT/DELETE但在实际查询运行之前的连接中,您需要运行set语句SET @user = 'my_user_id'
。那么你应该可以使用@user
作为触发器中的用户。
我不是数据库用户,而是逻辑用户(登录到应用程序的人)。这些信息在应用程序中,我需要将它传递给删除触发器。 – Julia 2010-03-31 12:50:07
谢谢,这个诀窍:) – Julia 2010-04-01 10:05:06