MYSQL 트리거를 생성하고 있습니다. 트리거가 데이터베이스 변경을 시작한 사용자의 IP 주소를 기록하도록합니다.사용자 IP 주소를 MYSQL 트리거에 삽입하십시오.
이것이 가능합니까? 그렇다면 MySQL이 어떻게 사용자의 IP Addy를 얻을 수 있습니까?
MYSQL 트리거를 생성하고 있습니다. 트리거가 데이터베이스 변경을 시작한 사용자의 IP 주소를 기록하도록합니다.사용자 IP 주소를 MYSQL 트리거에 삽입하십시오.
이것이 가능합니까? 그렇다면 MySQL이 어떻게 사용자의 IP Addy를 얻을 수 있습니까?
MySQL을 사용하는 사용자의 IP 주소를 가져올 수 없습니다. USER()를 통해 호출하는 사용자에게 액세스 권한이 있습니다. 예 : 당신이 데이터베이스 변화를 시작하는 MySQL 사용자 알고 싶다면
mysql> select USER();
+--------------------+
| USER() |
+--------------------+
| [email protected] |
+--------------------+
1 row in set (0.06 sec)
, 당신은 which will return the invoking user의 USER() 기능을 사용할 수 있습니다.
그러나 우리는 에 대해 얘기하고 있다는 것을 이해해야합니다. 이것은 웹과 아무런 관련이 없습니다. 예를 들어, 응용 프로그램이 웹 응용 프로그램 인 경우 주소는 "localhost"또는 웹 응용 프로그램을 사용하는 사람의 주소가 아닌 서버의 이름이됩니다. 주소를 얻으려면 PHP 또는 동등한 언어를 사용해야합니다.
당신이 CURRENT_USER()를 의미한다고 생각합니다. 어쨌든 트리거 컨텍스트에서 작동하지 않습니다. USER()를 사용해 볼 수도 있습니다. –
방아쇠 안에 예상대로 작동하지 않는 것이 맞습니다. 그러나 사용자는 그렇습니다. – hobodave