views:

100

answers:

1

Hi,

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.

Any 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.

A: 

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.

ig0774
I do not the database user but the logical user(The person logged into the application). This information is there in the application and I need to pass it to the delete trigger.
Julia
Thanks, that did the trick :)
Julia