2009-08-04 6 views
0

MYSQLトリガーを作成しています。私はトリガーがデータベース変更を開始したユーザーのIPアドレスを記録するようにしたいと思います。ユーザーのIPアドレスをMYSQLトリガーに挿入します

これは可能ですか?もしそうなら、MySQLはどのようにしてユーザーのIP Addyを入手できますか?

答えて

2

MySQLを使用しているユーザーのIPアドレスを取得することはできません。あなたはUSER()を介して呼び出しているユーザーにアクセスできます。例えば

mysql> select USER(); 
+--------------------+ 
| USER()    | 
+--------------------+ 
| [email protected] | 
+--------------------+ 
1 row in set (0.06 sec) 
+0

あなたはCURRENT_USER()を意味すると思いますが、とにかくトリガーのコンテキストでは機能しません。しかし、USER()を試してみてください。 –

+0

トリガーの内部で期待通りに機能していない点については正しいですが、USERはこれを行います。 – hobodave

0

あなたはMySQLユーザは、データベースの変更を開始したかを知りたい場合は、USER()機能、which will return the invoking userを使用することができます。

しかし、私たちがというMySQLユーザーについて話していることを理解してください。これはウェブとは関係ありません。たとえば、アプリケーションがWebアプリケーションの場合、アドレスは "localhost"またはサーバー名であり、Webアプリケーションを使用している人のアドレスではありません。住所を取得するには、PHPまたは同等の言語を使用して住所を取得する必要があります。

関連する問題