Привет, ребята, это мой первый постMySQL IPv4 Validation реализации
Я борюсь здесь за последние два дня в осуществлении проверки для ipv4 адреса .... Проблема заключается в том, что проверка должна быть выполнена на уровне базы данных и это делает его трудным для нуба как я
Так что я должен сделать:
- Проверка ipv4 адреса
- Если префикс где-то в ф 0 я должен удалить его (например: 123.013.221.011 должен стать 123.13.221.11)
То, что я до сих пор в триггере:
Это не работает, как предполагается, поэтому я прошу вас, ребята за помощь ... спасибо !!!
DELIMITER $$
CREATE TRIGGER validation_trigger BEFORE INSERT ON setting_parameters
FOR EACH ROW
BEGIN
-- PROXY RULES --
IF(NEW.parameter_name LIKE '%proxy%') = true THEN
IF(INET_ATON(NEW.parameter_value)<INET_ATON('255.255.255.255'))=true THEN
IF(NEW.parameter_name LIKE '0%') = true THEN
SET NEW.parameter_value = SUBSTR(NEW.parameter_value,2);
ELSE
SIGNAL SQLSTATE '12345'
SET MESSAGE_TEXT = 'Wrong PROXY parameter values !';
END IF;
END IF;
END IF;
Большое спасибо! Я дам ему выстрел и напишу! – user2988649
Эй, регулярное выражение для ipv4 отлично работает ... к сожалению, я не могу заставить регулярное выражение find-replace для 00, .0 и .00 вы могли бы привести пример о том, как это сделать? спасибо большое время !! – user2988649
Обновлен мой ответ с примером SQL для части 2. Посмотрите. – Litmus