我正在寻找SQL Server中存在的CONTEXT_INFO的MySQL等效项。或者任何其他类似的会话变量,我可以使用它将用户名传递给触发器。
我目前正在做记录表数据的工作以进行审计。我需要将登录用户的用户名传递给delete触发器。
有什么想法吗?我们在少数情况下从表中删除行,在其他情况下将它们标记为已删除。
欢迎任何替代解决方案。我想过使用AOP,但在删除级联时可能会出现问题。我想研究一下Hibernate拦截器,目前还不确定它是否有效。
如果我能找到CONTEXT_INFO的MySQL等价物,我的工作就完成了,而且也很优雅。
谢谢,
朱莉娅。
发布于 2010-03-31 19:21:44
您应该能够使用USER()函数获取当前用户。See the doc获取详细信息。
好吧,我不太明白你在问什么。我想你可能想看看MySQL's support for connection-level user variables。基本上,在将运行UPDATE / INSERT / DELETE的连接中,在实际运行查询之前,您需要运行一个set语句SET @user = 'my_user_id'。然后,您应该能够在触发器中使用@user作为用户。
https://stackoverflow.com/questions/2552209
复制相似问题