2

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

我目前正在记录表数据以供审计。我需要将登录用户的用户名传递给删除触发器。

有任何想法吗?在某些情况下,我们会从表中删除行,并在其他情况下将它们标记为已删除。

欢迎任何替代解决方案。我曾想过使用 AOP,但在删除级联时可能会出现问题。我想研究 Hibernate Interceptors,目前不确定是否可行。

如果我能找到 CONTEXT_INFO 的 MySQL 等价物,我的工作就完成了,也很优雅。

谢谢,

朱莉娅。

4

1 回答 1

1

您应该能够使用 USER() 函数获取当前用户。有关详细信息,请参阅文档


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

于 2010-03-31T11:21:44.130 回答