Работает на mysql.5.7
Вот моя bugs
таблица
MySQL [jira_statistics]> describe bugs;
+---------------------------------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------------------------------------+--------------+------+-----+---------+-------+
| issue_key | varchar(45) | NO | PRI | NULL | |
| release_name | varchar(45) | YES | MUL | NULL | |
| issue_summary | varchar(200) | YES | | NULL | |
| story_points | int(11) | NO | | 0 | |
| qa_reopened | float | NO | | 0 | |
| done_reopened | float | NO | | 0 | |
Эта таблица обновляется периодическими вызовами на LOAD DATA LOCAL INFILE bugs <file.csv>
Всякий раз, когда это обновлениеимеет место (который может либо обновить существующие строки и / или вставить новые). Я хочу, чтобы другая таблица, имеющая некоторую полученную статистику, была обновлена с помощью следующего триггера
create trigger update_bugs_stats after insert on `jira_statistics`.`bugs` for each row
begin
delimiter ;
-- STORY POINTS -------------------------
SELECT AVG(story_points) INTO @avg_bugs_storypoints FROM `jira_statistics`.`bugs` WHERE release_name = new.release_name;
SELECT MAX(story_points) INTO @max_bugs_storypoints FROM `jira_statistics`.`bugs` WHERE release_name = new.release_name;
SELECT MIN(story_points) INTO @min_bugs_storypoints FROM `jira_statistics`.`bugs` WHERE release_name = new.release_name;
INSERT INTO storypoints_stats (release_name, avg_bugs_storypoints, max_bugs_storypoints, min_bugs_storypoints)
VALUES (relName, @avg_bugs_storypoints, @max_bugs_storypoints, @min_bugs_storypoints)
ON DUPLICATE KEY UPDATE
relName=new.release_name,
avg_bugs_storypoints=@avg_bugs_storypoints,
max_bugs_storypoints=@max_bugs_storypoints,
min_bugs_storypoints=@min_bugs_storypoints;
Однако это дает мне следующую ошибку при каждой попыткеЧтобы создать триггер:
Неизвестный столбец new.release_name
в предложении where
.
Почему не распознается ключевое слово new
?