0
Я пытаюсь получить ячейку Points_Per_Game
для вычисления с помощью триггера в MySQL, но не уверен, что мне не хватает.MySQL Trigger Sum on Update
Points_Per_Game = Total_Points/Games Played,
DELIMITER $$
CREATE TRIGGER trg_Point_Per_Game
AFTER UPDATE ON Players
FOR EACH ROW
BEGIN
UPDATE Players SET Points_Per_Game = Total_Points/Games_Played;
END;$$
DELIMITER;
Игроки Таблица:
+------------+--------------+--------------+-----------------+
| Name | Games_Played | Total_Points | Points_Per_Game |
+------------+--------------+--------------+-----------------+
| David | 0 | 0 | NULL |
| John | 6 | 7 | NULL |
В Games_Played
и Total_Points
колонны обновляется еженедельно через Баш скрипт.
Он вошел правильно, спасибо. Моя проблема в том, что когда я обновляю Games_Played и Total_Points, я получаю эту ошибку: «Невозможно обновить таблицу« Игроки »в хранимой функции/триггере, потому что она уже используется оператором, который вызвал эту сохраненную функцию/trigger.' – denski
@ denski. , , Вы должны изменить свой вопрос (или задать другой вопрос), показывая код, который выполняет обновление, и любые другие триггеры в таблице. –
Это сработало, у меня было две проблемы. 1) У меня было два триггера с одним и тем же триггером. 2) Я бы установил DECIMAL (3,3), чтобы он не позволял значениям, которые обновлялись больше 0. – denski