MySql вставляет триггер после вставки данных в другую таблицу - PullRequest
0 голосов
/ 19 декабря 2018

Я создал таблицу trans, в которой я хочу сохранить данные после вставки в таблицу.Когда я запускаю свой триггер, я возвращаю две большие данные в trans, кажется, что для каждой строки триггер сохраняет полный оператор в БД.Как мне изменить свой триггер, чтобы в конце оператора вставки в resultate триггер сохранял статистику один раз в таблице trans?

Вот мой триггер ...

   CREATE TRIGGER trans_trigger
   AFTER INSERT
   ON resultate FOR EACH ROW
   insert into trans(ID_trans, Spieltag, Heimteam, ID) 
SELECT     
     CASE
        WHEN @Heimteam = Heimteam THEN @ID_before
        ELSE NULL
    END AS ID_Final,
    Spieltag,
    @Heimteam:=Heimteam as Heimteam,
    @ID_before:=IDer as ID
FROM
    resultate
ORDER BY Heimteam, Spieltag;

1 Ответ

0 голосов
/ 20 декабря 2018

Я изменил свой запрос.Теперь только строка вставки будет сохранена в базе данных trans.

   Select a11.ID_Final, a11.Spieltag, a11.Heimteam,a11.ID from
(
SELECT     
     CASE
        WHEN @Heimteam = Heimteam THEN @ID_before
        ELSE NULL
    END AS ID_Final,
    Spieltag,
    @Heimteam:=Heimteam as Heimteam,
    @ID_before:=ID as ID
FROM
    resultate
ORDER BY Heimteam, Spieltag 
) as a11
  join
 (
Select ID from resultate 
)as a12 
on a11.ID = a12.ID where a12.ID = new.ID;
...