开发者

Java Audit table logging, MySQL equivalent of CONTEXT_INFO

I am looking for the MySQL equivalent of CONTEXT_INFO that is present in SQL Server. Or any other session variable like thing using which I can pass the username to the trigger.

I am currently working on logging table data for audit. I need to pass the username of the logged in user to the delete trigger.

Any ideas? We are deleting the rows from the table in a few cases and marking them as deleted in others.

A开发者_如何转开发ny alternate solutions are welcome. I thought of using AOP but it could prove problematic when deleting a cascade. I want to look into Hibernate Interceptors, not sure at this point if that works.

If I can find the MySQL equivalent of CONTEXT_INFO, my job is done and elegant as well.

Thanks,

Julia.


You should be able to get the current user with the USER() function. See the doc for details.


Ok, I didn't quite understand what you were asking. I think you may want to take a look at MySQL's support for connection-level user variables. Basically, in the connection that will run the UPDATE / INSERT / DELETE but before the actual query runs you need to run a set statement SET @user = 'my_user_id'. Then you should be able to use @user as the user in your trigger.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜