2

SQLServerに存在する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 に答える