MySQL триггер проблема - PullRequest
       4

MySQL триггер проблема

0 голосов
/ 17 июля 2010

Я получил этот триггер, я хочу оценить мобильный телефон и вставить в другую таблицу, если регулярное выражение возвращает значение.Я пробовал с этим, но безуспешно.

delimiter //

create trigger companyA_phones after insert on customer

for each row

begin

   set @phone = (select new.phone from customer where new.phone regexp '^0416');

   if (@phone) then

      insert into company_A(new.id, @phone);

   end if;

end//

1 Ответ

3 голосов
/ 17 июля 2010

Вы не совсем ясно понимаете, какие у вас проблемы, но я не думаю, что вам нужно выбирать такие новые значения, как они, поскольку они уже доступны для вас.Попробуйте что-то вроде этого:

CREATE TRIGGER companyA_phones
AFTER INSERT ON customer
FOR EACH ROW
BEGIN
  IF (new.phone REGEXP '^0416' AND new.id IS NOT NULL) THEN
    INSERT INTO company_A (customerid, phone)
         VALUES (new.id, new.phone);
  END IF;
END

Похоже, что необходимость в этом триггере говорит о том, что дизайн вашей базовой схемы некорректно нормализован, так что вы можете подумать об этом тоже.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...