@jatx

[Решено] MySQL. Как создать триггер?

Имеется сервлет, который при запросе обновляет в базе данных IP клиента.
Запрос следующий:
REPLACE INTO `userinfo` (`email`,`user_id`,`ip`,`last_update`) VALUES (?,?,?,now());

При этом, когда я сам пытаюсь обновить свой IP, сервлет вместо моего внешнего IP получает IP моего роутера во внутренней сети - 192.168.1.1.
Задача: сделать триггер, который при операции REPLACE с IP равным 192.168.1.1 будет заменять его на мой внешний IP (он известен).
Как такое реализовать?
  • Вопрос задан
  • 2245 просмотров
Пригласить эксперта
Ответы на вопрос 2
Sanasol
@Sanasol
нельзя просто так взять и загуглить ошибку
Причем здесь собственно запрос, проблема то не в нем
Ответ написан
Комментировать
@jatx Автор вопроса
Всем спасибо, уже нашел решение сам.

CREATE TRIGGER `my_host_ip` BEFORE INSERT ON `userinfo`
FOR EACH ROW SET NEW.ip=IF(NEW.ip='192.168.1.1','X.X.X.X',NEW.ip);

где X.X.X.X - мой IP.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы