2010-03-31 104 views
1

我正在尋找SQL Server中存在的等同於CONTEXT_INFO的MySQL。或者其他會話變量,比如使用我可以將用戶名傳遞給觸發器的東西。Java審計表日誌記錄,等同於MySQL的CONTEXT_INFO

我目前正在爲審計記錄表數據。我需要將登錄用戶的用戶名傳遞給刪除觸發器。

任何想法?我們在幾種情況下刪除表中的行,並將其標記爲已刪除。

歡迎任何替代解決方案。我想過使用AOP,但刪除級聯時可能會出現問題。我想研究一下Hibernate攔截器,不確定此時是否可行。

如果我可以找到CONTEXT_INFO的MySQL等價物,我的工作也很完善。

謝謝,

朱莉婭。

回答

1

您應該能夠通過USER()函數獲取當前用戶。 See the doc瞭解詳情。


好的,我不太明白你在問什麼。我想你可能想看看MySQL's support for connection-level user variables。基本上,在將運行UPDATE/INSERT/DELETE但在實際查詢運行之前的連接中,您需要運行set語句SET @user = 'my_user_id'。那麼你應該可以使用@user作爲觸發器中的用戶。

+0

我不是數據庫用戶,而是邏輯用戶(登錄到應用程序的人)。這些信息在應用程序中,我需要將它傳遞給刪除觸發器。 – Julia 2010-03-31 12:50:07

+0

謝謝,這個訣竅:) – Julia 2010-04-01 10:05:06